Microsoft Doubles Down on Guidance for Porting Desktop Apps to .NET Core
Support for creating desktop apps with .NET Core 3.0 -- coming in the second half of this year -- is a big deal because it addresses one of the last major hurdles for the wholesale move off the now-maintenance-only .NET Framework.
As such, having made no bones about the fact that .NET Core is the future for .NET developers, Microsoft has provided guidance for checking desktop app readiness for .NET Core and how to port desktop apps to .NET Core.
Now, the company is accelerating that porting guidance, targeting two groups of .NET developers: those who want just the basics and those who want meatier details for more complex use cases.
Today (May 28), the company published a post for the simple case.
Olia Gavrysh, program manager, .NET, explained the reasoning for the two-pronged approach:
Since I've been working with the community on porting desktop applications from .NET Framework to .NET Core, I've noticed that there are two camps of folks: some want a very simple and short list of instructions to get their apps ported to .NET Core while others prefer a more principled approach with more background information. Instead of writing up a "Swiss Army knife"-document, we are going to publish two blog posts, one for each camp:
- This post is the simple case. It's focused on simple instructions and smaller applications and is the easiest way to move your app to .NET Core.
- We will publish another post for more complicated cases. This post will focus more on non-trivial applications, such WPF application with dependencies on WCF and third-party UI packages.
Benefits of moving WinForms and WPF apps to .NET Core, the company has said, include:
- Performance improvements and other runtime updates that will delight your users
- Super easy to use or test a new version of .NET Core for just one app on a machine
- Enables both machine-global and application-local deployment
- Support for the .NET Core CLI tools and SDK-style projects in Visual Studio
Today's blog post by Gavrysh follows up on earlier guidance, such as a February video with exec Scott Hunter that detailed "what it takes to port a desktop application to .NET Core and make use of the Windows Compatibility Pack," along with providing "a peek into working with Razor Components and ML .NET."
Hunter also detailed WinForms, WPF support last month in a roundup of "What's Coming with .NET Core 3.0."
In today's post, Gavrysh details prerequisites and step-by-step guidance including:
- Run portability analyzer
- Migrate to SDK-style .csproj
- Retarget to .NET Core
- Fixing errors
- Working with designers
- Why port to .NET Core
For visual learners, she points to the "Porting to .NET Core 3.0" video, a two-pronged approach appreciated by at least one developer who commented: "Thank you SOOOOO much for providing the content in both Text and video! It is so frustrating that many sites think everyone has time to watch a 20 minute video for something that could be read in under 5 (along with it being indexed and searchable)."
David Ramel is the editor of Visual Studio Magazine.