The .NET team over at Microsoft indicates that another Release Candidate is anticipated before the launch of .NET 6 and this is the first one: This release is currently available to use on Linux, Windows, and macOS. Moreover, Microsoft claims that it has been tested with Visual Studio 2022 Preview 4, and is the future for .NET.
What’s new in .NET 6 Release Candidate 1
Microsoft has been working tirelessly to improve the user experience with .NET by enhancing the functional performance of new as well as existing functions, all while adding new functions to it.
Source Build
Microsoft has built a Source Build infrastructure in .NET 6 RC 1 in collaboration with Red Hat specifically for Red Hat Enterprise Linux (RHEL) .NET users. They claim to have been working in collaboration since before the release of .NET Core 1.0, and now finally have something to share with the public. The concept for Source Build is to allow users to create open-source distros with open-source tools. Microsoft has achieved this through what they call a “source tarball.” The tarball contains the entire source for an SDK. Using that tarball, Red Hat can build its own versions of SDKs. Microsoft also hints towards reproducible builds once the Source Build is fully functional.
Profile-Guided Optimization (PGO)
Profile-Guided Optimization (PGO) is designed to optimize startup code to result in better quality by exploiting it. Although this feature has been used by .NET for some years, the new technology is easier to use with better results. Microsoft has now compiled the PGO system from scratch to optimize it by integrating it with Crossgen2. In Microsoft’s opinion, there are several things to consider to enable an effective and efficient PGO system, which are:
Easy-to-use training tools that collect PGO data from applications, on the developer desktop and/or in production.Static PGO data can be used by a dynamic PGO system to establish initial insight.Straightforward integration of PGO data in the application and library build flow.Human- and source-control-friendly text format for PGO data.Tools that process PGO data in various ways (differencing and transforming).
Dynamic PGO
Unlike the static PGO we have just discussed, the dynamic PGO can collect data from a running application as it is integrated with RyuJIT. However, it loses its data after each run of the application it is collecting the data from. Dynamic PGO is very much similar to Tiered Compilation. In fact, Microsoft claims that it is just an advanced version of it.
Crossgen2
Crossgen 2, unlike Crossgen 1, is a standalone compiler. This allows the compiler to be cross-targeted. This means that it can target an x64 system from an ARM device, or Linux from Windows, etc. Microsoft explains Crossgen2 with complete enthusiasm and a lot of promising features. To learn more about it, continue reading the details here.
Security updates
Control-Flow Enforcement Technology (CET)
Some newer Intel and AMD processors now support CET. CET is a technology that protects the hardware against common types of attacks. .NET 6 RC 1 is now compatible with this technology.
W^X
W^X security mitigation prevents attacks by disallowing memory pages to be writable and executable at the same time. Since Apple had already made it mandatory for all future macOS to have W^X mitigation, Microsoft made sure that they implement this security capability to all operating systems, hence integrating it with .NET.
HTTP/3
HTTP/3 is now integrated with .NET 6 RC 1, which is a better connection protocol than the previous versions. HTTP/3 uses another underlying protocol called QUIC. Since QUIC uses UDP and has TLS already built-in, it is more secure, faster, and more reliable.
SDK Workloads
This new capability in .NET 6 RC1 allows Microsoft to add new capabilities to existing .NET without having to grow the SDK in size significantly. They have not exactly yet measured how much in size this technology grows the existing SDKs, but they claim that it is very much less than what it could be if it were a separate SDK package. To learn more about .NET Release Candidate 1, head on to Microsoft’s blog post.
Download .NET 6 Release Candidate 1
Use the direct download links below to download the .NET 6 Release Candidate 1 Runtime and SDKs according to your operating system and architecture:
Runtime:
Download .NET 6.0.0-rc.1 Desktop Runtime for Windows x64 Download .NET 6.0.0-rc.1 Desktop Runtime for Windows x86 Download .NET 6.0.0-rc.1 Desktop Runtime for Windows ARM64 Download .NET 6.0.0-rc.1 Runtime for macOS x64 Download .NET 6.0.0-rc.1 Runtime for macOS ARM64 Download .NET 6.0.0-rc.1 Runtime Binaries for Linux Arm32 Download .NET 6.0.0-rc.1 Runtime Binaries for Linux Arm64 Download .NET 6.0.0-rc.1 Runtime Binaries for Linux Arm32 Alpine Download .NET 6.0.0-rc.1 Runtime Binaries for Linux Arm64 Alpine Download .NET 6.0.0-rc.1 Runtime Binaries for Linux x64 Download .NET 6.0.0-rc.1 Runtime Binaries for Linux x64 Alpine
SDKs
Download .NET SDK 6.0.100-rc.1 for Windows x64 Download .NET SDK 6.0.100-rc.1 for Windows x86 Download .NET SDK 6.0.100-rc.1 for Windows ARM64 Download .NET SDK 6.0.100-rc.1 for macOS x64 Download .NET SDK 6.0.100-rc.1 for macOS ARM64 Download .NET SDK 6.0.100-rc.1 Binaries for Linux Arm32 Download .NET SDK 6.0.100-rc.1 Binaries for Linux Arm64 Download .NET SDK 6.0.100-rc.1 Binaries for Linux Arm32 Alpine Download .NET SDK 6.0.100-rc.1 Binaries for Linux Arm64 Alpine Download .NET SDK 6.0.100-rc.1 Binaries for Linux x64 Download .NET SDK 6.0.100-rc.1 Binaries for Linux x64 Alpine More download and install options here.
ASP.NET Core
Download ASP.NET Core Runtime 6.0.0-rc.1 Hosting Bundle for Windows Download ASP.NET Core Runtime 6.0.0-rc.1 for Windows x64 Download ASP.NET Core Runtime 6.0.0-rc.1 for Windows x86 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Windows ARM64 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for macOS x64 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for macOS ARM64 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Linux Arm32 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Linux Arm64 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Linux Arm32 Alpine Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Linux Arm64 Alpine Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Linux x64 Download ASP.NET Core Runtime 6.0.0-rc.1 Binaries for Linux x64 Alpine
Install .NET 6 Release Candidate 1
You can begin by downloading the right .NET version for you from the links above and then execute it to begin the installation process. Once you have installed it, all your applications will run using the new build as the previous version will be replaced. You have now installed the .NET. You may check which .NET version is running by typing in the following command in Command Prompt:
Closing words
.NET 6 Release Candidate 1 is still a work-in-progress, so it may not be completely stable. In spite of this, we recommend that you try it out as it introduces new features with a significant performance impact. This is a real treat for developers, particularly those working on the Redhat platform. Also see:
Download .NET 7 Release Candidate 2 (Offline Installers)Download .NET 7 Release Candidate 1 (Offline Installers)Download and Install .NET Framework 6 Preview 1 (Offline Installers)Download And Install .NET 6 Preview 3 (Offline Installers)Download and Install .NET 6 LTS (Offline Installer)