Microsoft has introduced a significant new release of the open source .NET 6, built on the unification of the .NET Framework, .NET Core, and Mono products. With .NET 6, you can build multi-platform applications for the browser, cloud, desktop, IoT devices, and mobile platforms using common libraries and a common application-independent build process. .NET SDK 6, .NET Runtime 6, and ASP.NET Core Runtime 6 assemblies are built for Linux, macOS, and Windows. .NET Desktop Runtime 6 comes for Windows only. The developments related to the project are distributed under the MIT license.
.NET 6 includes a CoreCLR runtime with RyuJIT JIT compiler, standard libraries, CoreFX, WPF, Windows Forms, WinUI, Entity Framework, dotnet CLI, and tools for developing microservices, libraries, server, graphical and console applications … Separately published a stack for developing web applications ASP.NET Core 6.0 and ORM layer Entity Framework Core 6.0 (drivers are available, including for SQLite and PostgreSQL), as well as releases of languages C # 10 and F # 6. .NET 6.0 and C # 10 support included in the free code editorVisual Studio Code.
Features of the new release:
- Significantly improved performance, including carried out to optimize file I / O.
- C # 10 provides support for record structs, global using directives bound to namespace files, and new features for lambda expressions. Added support for incremental source code generation to the compiler.
- F # 6 introduces support for the asynchronous execution of async tasks and pipeline debugging.
- The Hot Reload feature is available, which provides a means to edit code on the fly at runtime, allowing you to make changes without manually stopping execution and without setting breakpoints. The developer can run the application under the “dotnet watch” control, after which the changes made to the code are automatically applied to the running application, which allows you to immediately observe the result.
- Added “dotnet monitor ” utility to access diagnostic information for dotnet process.
- A new system of dynamic optimization based on the results of profile-guided optimization (PGO) is proposed, which allows generating more optimal code based on the analysis of execution features. Using PGO has improved the performance of the TechEmpower JSON “MVC” suite by 26%.
- Added support for the HTTP / 3 protocol in ASP.NET Core, HttpClient, and gRPC .
- The API related to the JSON format has been extended. Added a new code generator System.Text.Json and a system for serializing data in JSON format.
- Added support for compiling .NET code into a WebAssembly representation.
- Added support for symbolic links to the File IO API. Fully rewritten FileStream.
- Added support for OpenSSL 3 library and ChaCha20 / Poly1305 cryptographic algorithms.
- Runtime implements protection mechanisms W ^ X (Write XOR Execute, prohibiting concurrent write and execution access) and CET (Control-flow Enforcement Technology, protection against execution of exploits built using return-oriented programming techniques).
- Added experimental support for iOS and Android as TFM platforms (Target Framework Moniker).
- Support for Arm64 systems has been significantly improved. Added support for Apple devices based on the M1 ARM chip (Apple Silicon).
- The process of assembling the .NET SDK from the sources is provided, which simplifies the work on the formation of c .NET packages for Linux distributions.