Build with an Azure free account. Get USD200 credit for 30 days and 12 months of free services.

Start free today

How to port desktop applications to .NET Core 3.0

Play How to port desktop applications to .NET Core 3.0
Sign in to queue


With every subsequent release, .NET Core continues to improve with greater levels performance, security and new features that help enhance developer workflow. In .NET Core 3.0, developers will see tons of improvements around our capabilities to build Cloud, Web, IoT, and Machine Learning applications. One of the biggest enhancements will also be support for Windows desktop applications (Windows only).

In this episode, our friends Scott Hunter (@coolcsh) and Olia Gavrysh (@oliagavrysh) take over the show to provide some insight into what will be coming in .NET Core 3.0. We'll see what it takes to port a desktop application to .NET Core and make use of the Windows Compatibility Pack. Our friends also give us a peek into working with Razor Components and ML .NET.

  • [01:00] - Major themes of .NET Core
  • [03:19] - Desktop enhancements for .NET Core
  • [05:01] - Benefits of desktop development on .NET Core
  • [07:56] - Migrating a desktop application to .NET Core
  • [09:12] - Demo
  • [10:09] - Upgrading to the new MSBuild project style
  • [11:38] - Controlling Assembly Info generation
  • [13:06] - .NET standard and the Windows Compatibility Pack
  • [19:48] - Developing with the existing designer
  • [21:03] - ASP.NET Core Razor Components
  • [26:00] - Machine Learning support with ML.NET

Useful Links



The Discussion

  • User profile image
    Doctor Who
    When Alia starts the conversion of the WinForms game from .NET 4.5, she starts by unloading the project from Visual Studio. However, it is still within Visual Studio. Is she working with VS 2019?
  • User profile image
    Scott and Olia, I really enjoyed the video. I do have some hopefully constructive feedback on the presentation however. It seemed that Scott was talking over Olia frequently and it made the video seem somewhat disjointed particularly during the demos. It seemed like Scott wanted to really do all of the demos himself and proceeded to do a bit of "backseat" driving at times. Overall though, very good content. Keep up the good work guys!
  • User profile image
    Doctor Who, thanks for the question!
    Yes, I’m working in VS 2019. But you can unload a project in any VS. When you do it, in the Solution Explorer you will see just one line saying “MatchingGame (unloaded)”. When you right-click on, the option “Edit MatchingGame.csproj” becomes available (it was not there when the project was loaded). That is only for old style project files. For the new SDK-style projects the option “Edit MatchingGame.csproj” is always available on the right-click on the project in Solution Explorer so there is no need to unload a project.
  • User profile image
    Hey Olia, Can we get the project files shown where the game converted to an WebApp? That'd be very helpful.
  • User profile image
    Scott, aside from Blazor, is Microsoft looking into something like Ooui (
  • User profile image
    I am very hopeful with the performance improvement of .NET Core 3.0 and the future use of IOT-based applications. I think the future is there.

    Many thanks Scott and Olia for the information :)
  • User profile image

    Are there any plans to support more OS'es beyond Windows for desktop applications?

  • User profile image

    Is it possible to use the logic project (which is .NET Standard) in the web app? I mean why did you have to rewrite the entire logic in Razor project? Why can you reuse Logic project reference there?

  • User profile image

    Where can I buy that nice C# cap?

  • User profile image

    Scott - next time you presenting something with others - just take a walk.

Add Your 2 Cents