.NET Core 3.0 was announced yesterday at the Microsoft Build event and let’s welcome .NET Core supports for Windows Desktop applications. Finally, this is happening as developers were asking for desktop applications with .NET Core. The highlight of .NET Core 3 is support for Windows desktop applications, specifically Windows Forms, Windows Presentation Framework (WPF), and UWP XAML. You will be able to run new and existing Windows desktop applications on .NET Core and enjoy all the benefits that .NET Core has to offer.
.NET Core 3.0 also has a lot to offer other than desktop application support. ASP.NET Core will continue to move forward in parallel and will have a release with .NET Core 3.0. The first preview of .NET Core 3 will be out later this year and the final version in 2019.
.NET Core 3
There are many benefits that .NET Core will bring for desktop applications. Some of them are mentioned below.
- Performance improvements and other runtime updates
- Easy to use or test a new version of .NET Core
- Enables both machine-global and application-local deployment
- Support for the .NET Core CLI tools and SDK-style projects in Visual Studio
Take a look at below image to visualize .NET Core 3.0.
As you can see, .NET Core isn’t changing architecturally with this new version as the Web, Data, AI/ML, Cross-platform support is still there. The new part is, Windows Desktop packs to support Windows application on .Net Core only on the Windows OS.
New features in .NET Core 3.0
- Side-by-side and App-local Deployment: The .NET Core deployment model is one the biggest benefits that Windows desktop developers will experience with .NET Core 3. In short, you can install .NET Core in pretty much any way you want. It comes with a lot of deployment flexibility. Deployment of .NET Core desktop applications can either use a global install of the .NET Core runtime (similar to how .NET Framework is deployed), or side-by-side deployment so that each application uses its own version of the runtime.
- Easily convert existing Desktop applications to .Net Core 3: The conversion of existing desktop application to .NET Core 3.0 will be pretty straightforward.
- Improvement to Project Files: The .Net Core has adopted the SDK based project structure as it offers many advantages like:
- Much smaller and cleaner project files
- Much friendlier to source control (fewer changes and smaller diffs)
- Edit project files in Visual Studio without unloading
- NuGet is part of the build and responsive to changes like target framework update
- Supports multi-targeting
You would be encouraged to change the project files to the newer SDK based structure for your Windows desktop application to work on .Net Core 3.
- Continue to support Controls, NuGet Packages, and Existing Assembly References: Desktop applications often have many dependencies, maybe from a control vendor, from NuGet or binaries that don’t have a source any more. .NET Core 3.0 will continue to support dependencies as-is without requiring developers to rewrite functionalities.
This is a great news as finally .NET Core is coming for Windows Desktop applications. I hope soon we’ll able to run the desktop applications on all platforms like ASP.NET Core Web apps.
Thank you for reading. Keep visiting this blog and share this in your network. Please put your thoughts and feedback in the comments section.