The next major update of .NET Core is almost here, with a final release coming to developers during the .NET Conf virtual developer event running September 23–25. With the release imminent, let’s take a look at what we can expect for new .NET Core 3.0 features based on the preview builds that have been rolling out almost every month since December 2018.
.NET Core 3.0 Previews 1–8: New additions
Support for Windows desktop applications
The Windows .NET Core 3.0 SDK will support developing WPF and Windows Forms applications on the .NET Core framework. This not only increases access to the platform for experienced WPF and WinForms developers, but also makes porting previous .NET Framework apps to .NET Core a viable solution. WPF and WinForms applications will also be able to make full use of performance improvements provided by .NET Core. This feature is only supported on Windows, however. It will not be possible in Visual Studio for Mac.
MSIX deployment for Windows desktop
Another sweet feature involving the Windows desktop in .NET Core 3.0 is support for the MSIX package format, which can be used to deploy applications to Windows 10. If you’ve never heard of MSIX, you can quickly get an idea of it in Microsoft’s documentation. Syncfusion may also be publishing a Succinctly series book about it soon.
.NET Standard 2.1
Though it is not yet final, .NET Core 3.0 will support .NET Standard 2.1 for the latest improvements to the standard set of APIs for all .NET platforms.
C# 8.0 support
.NET Core 3.0 will also fully support C# 8.0, which brings numerous advances to the language. New features include readonly numbers, more pattern expressions for the separation of data and functionality, using variable declarations, asynchronous streams, and much more. For a full list of what’s new in C# 8.0 so far, see Microsoft’s documentation.
Single-file and default executables
To simplify app packaging and delivery, single-file executables can be built from the dotnet publish command that include all the dependencies required to run your app. Additionally, framework-dependent executables, which significantly reduce the size of your package by relying on the .NET Core version installed on the target machine, are now built by default.
Another package-optimizing feature in .NET Core 3 is the IL Linker tool, which scans your intermediate language code and then removes unused assemblies, which helps avoid bloat in your app.
Improvements for the IoT crowd
Developers working on IoT solutions will also find some new .NET Core 3.0 features appealing: NuGet packages are being released to provide GPIO programming support for Raspberry Pi devices, and support is coming for ARM64 for Linux.
And much, much, much more
This blog post has only been a very small excerpt of some of the features coming to .NET Core 3.0 when it’s finally released. We recommend perusing the entire list at docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0, which leads to its own set of interconnected documentation rabbit holes that can easily absorb your afternoon if you’re not careful.
Of course, if you’re a member of the Windows Insider program and have stayed up to date with the preview builds of Visual Studio 2019, you’ve had access to these features as they’ve been introduced and none of this should come as a surprise to you. If you’re not, well, surprise!
.NET Core 3.0 Preview 9: The final polish
The final preview build of .NET Core 3.0 was just released on September 4. As to be expected with the last preview, most of the work has been dedicated to polishing up the new features to a final state, according to .NET Team Program Manager Richard Lander.
.NET Core 3.0 final coming to .NET Conf
As mentioned at the start, the final version of .NET Core 3.0 is being released at the .NET Conf virtual developer event being held September 23–25. Just like last year, Syncfusion Product Manager Chad Church will be interviewed during the event, and Syncfusion will be giving away a $500 Amazon gift card. For more information about Syncfusion’s participation in .NET Conf and other upcoming developer education events, see this blog post.
If you enjoyed this post, we think you’ll also like: