Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Releases .NET 6 Preview 1

Microsoft Releases .NET 6 Preview 1

This item in japanese

Lire ce contenu en français


Last week, Microsoft released the first preview of .NET 6. The new version of the framework represents the final steps of the .NET unification plan that started with .NET 5, providing a cross-platform open-source platform for all things .NET. This first preview brings performance improvements and features such as WPF support for ARM64, support for Apple Silicon, and a redesigned thread pool. .NET 6 will be officially released in November, together with ASP.NET Core 6 and EF Core 6.

.NET 6 is the last step towards the long-expected .NET unification plan, aiming to provide a cross-platform, open-source framework for all things .NET. The new version of the framework includes exciting new projects such as a multi-platform UI toolkit built upon Xamarin, Blazor desktop apps, and "fast inner loop", a set of improvements and functionalities focused on speeding the build process (or - in some cases - skipping it altogether). According to Richard Lander, program manager at Microsoft for the .NET Team:

.NET 6 will enable you to build the apps that you want to build, for the platforms you want to target, and on the operating systems you want to use for development. [...]  If you are a desktop app developer, there are new opportunities for you to reach new users. If you are a mobile app developer, you will benefit from using the mainline .NET tools and APIs while targeting iOS and Android platforms. If you are a web or cloud developer, it will be easier to expose services to .NET mobile apps and share code with them.

Following Microsoft's investment in ARM64, the first preview release of .NET 6 brings ARM64 support for Windows Presentation Framework (WPF) and initial support for Apple Silicon ARM64 chips. According to Lander, Apple Silicon support is a key deliverable of .NET 6. The official release plans include both native and (x64) emulated builds for macOS.  Other ARM64 performance improvements are also expected in the next previews, as part of the continued effort that started with .NET 5.

Another key feature present in the preview release is the redesigned thread pool, re-implemented to enhance portability. Starting with .NET 6 Preview 1, the default thread pool is a managed implementation, which will enable applications to have access to the same shared thread pool — with identical behavior — independent of the runtime being used. However, for the time being, you can still revert to using the native-implement runtime thread pool (the development team still hasn't decided how long it will be maintained).

Other features in this release include the adoption of System.CommandLine libraries by the .NET command-line interface (CLI) (enabling response files and directives), new Math APIs (with limited support to hardware acceleration), and better support for Windows Access Control Lists (ACLs). Performance improvements include enhancements to single file apps, single-file signing on macOS, hardware-accelerated structs, dynamic profile-guided optimization (PGO), and Crossgen2 - a new iteration of the initial Crossgen tool for easier code generation and cross-generation development. Crossgen2 is a common dependency of many of the future container improvements planned in .NET 6.

An interesting characteristic of the .NET 6 development process - reflected in the present and future preview releases - is the adoption of an "open planning" process. This model enables you to see the direction the release is taking in terms of features and objectives, or to find opportunities to engage and contribute easily. At the same time, it enables the development team to collect feedback on each topic. All the current development topics - or "themes" - can be found here.

.NET 6 will be released in November 2021 as a Long Term Support (LTS) release. .NET 6 Preview 1 was tested on Visual Studio 16.9 Preview 4 and Visual Studio for Mac 8.9, and it can be downloaded here. The default .NET container images for .NET 6 — starting with Preview 1 — are based on Debian 11 ("bullseye").

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p