You can find my all .Net core posts here.
.Net Core 3 is coming
Microsoft has recently announced the teaser for .Net Core 3 and it is not lesser than any other big brand movies 🙂
.Net Core 3 will mainly focus on Windows desktop applications, specifically Windows Forms, Windows Presentation Framework (WPF), and UWP XAML. So if you are a desktop application lover then your awesome time is on its way.
With .Net Core 3 onwards, we will be able to run the windows application on .Net Core.
I have seen many StackOverflow questions asking about the support for Windows application in .Net Core, but now we have the official news about this support in .Net Core.
Note that, .Net Core 3 is not only about Windows and desktop applications. The web and the cloud features would be there as well but the Windows support is a cherry on the cake.
A bigger picture
As you can see above – Web, Data, AI/ML, Cross-platform are as it is currently in .Net Core which means .NET Core isn’t changing architecturally with this new version but apart from this, we have Windows Desktop packs which are nothing but the support for Windows application on .Net Core which will work on the Windows OS only.
Convert existing Desktop applications to .Net Core 3
It would be possible to convert your existing desktop application to .Net Core 3 in the future and this conversion would be straightforward.
If we talk about the big picture then the steps would be:
- Target your existing desktop application to .Net Core 3 and recompile
- Update all the project files to target .Net Core 3
- No need to target the dependencies to .Net Core 3 but there would be additional benefits if you do so
Paint.net desktop application is already being tested on .Net Core 3
Paint.net is a very nice desktop application and Paint.net is already running on .Net Core 3 in Microsoft’s lab. .Net team has converted the Paint.net to .Net Core without even touching its code by just using the WPF binaries.
As per .Net team, Paint.net has shown faster startup along with other benefits while running on .Net Core
Changes in csproj for .Net Core 3
We know that .Net Core has adopted sdk based project structure which has many advantages like:
- Neat and clean project files
- Lesser code than before
- Edit files without unloading
- Multi-target support
- PackageReference for referencing Nuget packages
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
How the desktop applications will get benefits from .Net Core
There are many benefits of .Net Core in desktop applications:
- Performance would be a key factor as the performance of the desktop applications would be increased with .Net Core
- Easy to use or test a new version of .NET Core
- Deployments are easier with the .Net Core
- .NET Core CLI tools and SDK-style projects support and many more
The first version of .Net Core 3 would be available later this year and the final version is expected to arrive in 2019.
Let us wait for this awesome release.