With the release last year of .NET 5, Microsoft switched its platform development away from the 20-year-old .NET Framework to the newer, cross-platform, open source .NET Core. The .NET Framework has moved into maintenance mode, while the new .NET completes its separation from Windows release cycles with a new cadence of annual releases.

In that new cadence, .NET 5 is what’s referred to as a current supported release, with 2021’s .NET 6 intended to be the first long-term support version of the new platform. That gives it three years of support, as opposed to .NET 5’s support which ends sometime early in 2022, three months after the .NET 6 release. You can think of current releases as pioneering new features for developers who produce regular updates, mainly for consumer applications. Long-term support fits better with enterprise product lifecycles and support models.

Enterprise developers can best treat .NET 5 as their supported platform for application migration from the aging .NET Framework, with a year to begin those migrations and application rollouts. The arrival of .NET 6 towards the end of 2021 gives you a target to aim for, with more features and increased cross-platform support. Code built for .NET 5 will run on .NET 6, and you can update it to take advantage of the new release’s additional options and APIs.

The highlights of .NET 6 Preview 1

If you want to get started with .NET 6, the first preview release has now rolled out. It’s not complete, but it lets you experiment with building .NET 6 code alongside .NET 5. You can download the SDK and runtimes from Microsoft’s .NET site, ready for use with current preview builds of Visual Studio 2019 (Visual Studio 16.9 Preview 4 or later). Currently it has language support for C# 9.0, F# 5.0, and Visual Basic 16.0, with more to come as the platform evolves throughout 2021. The download includes a runtime for new console and server apps, one for Windows desktop apps, and one for ASP.NET Core web apps. Like earlier releases, there’s support for Windows, Linux, and macOS, with ARM support on Windows and Linux alongside x64.

One of the most important parts of .NET 6 is its place in the .NET cross-platform and unification story, bringing Xamarin into the .NET fold as a key part of the framework rather than an alternate implementation. This will allow you to target macOS, Android, and iOS directly from the same set of code, using the under-development Multiplatform App UI (MAUI) framework. It’s a continuation of the process begun in .NET 5, but it goes a lot further than WebAssembly.

The .NET team is taking an approach that allows them to bring in lessons from other parts of the .NET ecosystem. One of these, Hot Reload, is a key element of the Xamarin development model. By allowing code changes to be reflected in running code, Xamarin developers can test code without having to run a complete build cycle. Although it’s not in the current preview, the team intends to bring a similar feature to all XAML and C# development. Treating all code as if it can be tested in a REPL promises to speed up development, especially for graphical elements of an app where design can become an interactive process.

Copyright © 2021 IDG Communications, Inc.