Microsoft has published the fifth preview of .NET 6, the next generation of the company’s software development platform that will finish the parts of the .NET unification begun in .NET 5. An updated SDK workloads capability is highlighted in the latest preview, for supporting new application types.
Due as a production release in November, .NET 6 is set to deliver improvements for cloud, desktop, and mobile apps. Preview 2 was published March 11, following the initial preview that arrived February 17. Monthly previews are planned between now and the production release, which will be supported for three years. Each preview will deliver on .NET 6 themes, epics, and user stories for developing server/cloud, desktop, IoT, and mobile applications.
Microsoft .NET 6 will integrate capabilities for Android, iOS, and MacOS that currently reside in the Xamarin open source mobile .NET platform. Microsoft also is extending the Blazor client web app development tool, so developers can build a hybrid client app that combines web and native UIs for desktop and mobile usage. Blazor WebAssembly was the first unified platform deliverable in .NET 5. Published in November 2020, .NET 5 marked the beginning of unification and laid the groundwork for Xamarin developers to use the unified .NET platform when .NET 6.0 arrived.
The .NET unification creates one .NET from the separate .NET Core, .NET Framework, and Xamarin/Mono technologies. Parts of .NET Framework already had moved to .NET Core; .NET 5 began the journey of combining .NET Core and Mono/Xamarin on a base class library and toolchain.
Unveiled June 17, Preview 5 can be downloaded from dotnet.microsoft.com. It is considered by Microsoft to be perhaps the biggest preview yet in terms of breadth and quantity of features. Capabilities highlighted in a bulletin on the release include:
- SDK workloads, part of the .NET unification vision, supports additional application types such as mobile and WebAssembly without increasing the size of the SDK. The feature has been updated to include list and update verbs, with the dotnetworkload list capability telling a developer which workloads have been installed and the dotnet workload update feature used to update all installed workloads to the newest available version. Serving as a package manager, SDK workloads was introduced in Preview 4.
- Package validation tools enable NuGet library developers to validate that packages are consistent and well-formed.
- More analyzers for the Roslyn compiler platform.
- For the SDK, custom guards are enabled for the Platform Compatibility analyzer.
- For Windows Forms, a default font can be set for an application.
- Extensions APIs have been improved, with a focus on hosting and dependency injection.
- WebSocket compression for libraries reduces the amount of data transmitted over a network.
Support for older frameworks is being dropped, including frameworks older than .NET Framework 4.6.1, .NET Core 3.1, and .NET Standard 2.0.
- A source generator is being introduced in .NET 6 as part of text.json to reduce startup time, improve throughput, and reduce private memory usage.
- For Objective-C interop, a new .NET API enables a single experience across runtimes.
- OpenTelemetry Metrics API support has been added. OpenTelemetry, which has been supported in recent .NET versions, promotes observability.
- OpenSSL 3 support has been added for cryptography on Linux.