For the .NET developers, the moment you have been waiting for is finally here. Microsoft has released .NET 8, which is the Long Term Service (LTS) version, in line to replace .NET 6. .NET is planned to have 3 years of active support from its release date, which is 14th November 2023.
This release also introduces F# 8, C# 12, and .NET MAU in .NET 8. This post provides the direct download links for the .NET 8 SDKs, Runtimes, and ASP.NET Core libraries and also discusses the major features.NET 8, so that you can make an informed decision on whether and when to upgrade your production environments.
What’s new in .NET 8
Integrate Large Language Models (LLMs)
Developers will now be able to integrate LLMs into their applications, like GPT4 and Bard. This will allow the developers to bring the touch of Artificial Intelligence (AI) to their applications and significantly enhance their performance, as well as user experience.
New code generator
Microsoft has included a new code generator called Dynamic Profile-Guided Optimization (PGO), which drastically improves the speed of .NET 8. It optimizes your code based on real-world usage which is enabled by default and can improve the performance of your apps by up to 20%.
Additionally, the AVX-512 instruction set, which is now supported, enables you to perform parallel operations on 512-bit vectors of data, meaning you can process much more data in less time.
.NET Aspire
.NET Aspire is a stack for building resilient, observable, and configurable cloud-native applications with .NET. It includes a set of components enhanced for cloud-native applications by including telemetry, resilience, configuration, and health checks by default.
Combined with a sophisticated but simple local developer experience, .NET Aspire makes it easy to discover, acquire, and configure essential dependencies for cloud-native applications on day 1 as well as day 100.
Note that this feature is still in its preview state, so expect room for further improvements.
Container enhancements
The containers have now been made more secure than ever in .NET 8. Every .NET image includes a non-root user, enabling more secure containers with one-line configuration.
You can also choose to harden the security further with the new Chiseled Ubuntu image variants to reduce your attack surface even further. Using Dockerfiles or SDK tooling, build apps and container images for any architecture.
Native Ahead-of-Time (AOT) compiler
Instead of using Just-in-Time compilers, .NET now uses an AOT compiler, which enhances .NET’s performance. You no longer need to deploy the JIT compiler and IL code. AOT apps deploy just the code that’s needed for your app. The application is now empowered to run in restricted environments where a JIT compiler isn’t allowed.
Other features and improvements
The list of new features and improvements in .NET 8 does not end here. Here are the rest of the updates to .NET 8. To learn more about them, simply click on it:
- Blazor – uses server and client together to handle all web UI needs.
- .NET MAUI integration
- C# 12
To learn more, read this .NET 8 announcement.
Download .NET 8
Use the direct download links below to download the .NET 8 Runtime, SDKs, and ASP.NET Core matching your operating system and architecture. Simply click on the respective link in the “Download” column to begin the download.
Runtime
Version | Platform | Download |
---|---|---|
.NET 8 Desktop Runtime | Windows | x64 x86 ARM64 |
.NET 8 Runtime | Windows | x64 x86 ARM64 |
.NET 8 Runtime | macOS | x64 ARM64 |
.NET 8 Runtime Binaries | Linux | x64 ARM32 ARM64 |
.NET 8 Runtime Binaries | Linux Alpine | x64 ARM32 ARM64 |
SDK
Version | Platform | Download |
---|---|---|
.NET 8.0.100 SDK | Windows | x64 x86 ARM64 |
.NET 8.0.100 SDK | macOS | x64 ARM64 |
.NET 8.0.100 SDK Binaries | Linux | x64 ARM32 ARM64 |
.NET 8.0.100 SDK Binaries | Linux Alpine | x64 ARM32 ARM64 |
ASP.NET Core
Version | Platform | Download |
---|---|---|
.NET 8 ASP.NET Core Runtime | Windows | Hosting bundle x64 x86 ARM64 (Binaries) |
.NET 8ASP.NET Core Runtime Binaries | macOS | x64 ARM64 |
.NET 8 ASP.NET Core Runtime Binaries | Linux | x64 ARM32 ARM64 |
.NET 8 ASP.NET Core Runtime Binaries | Linux Alpine | x64 ARM32 ARM64 |
Click on this link for more .NET 8 download options.
Install .NET 8
You can begin by downloading the right .NET version for your device using the links above and then running it to begin the installation process. Here is how:
Once you have installed the newer .NET preview version, all your applications will run using the new build as the previous preview version will be replaced. However, if a stable version is installed and running, it will not be replaced.
-
Execute the downloaded installation package and click Install.
-
Close the wizard once the installation is complete.
You have now installed the .NET. You may check which .NET version is running by running the following command in Command Prompt:
wmic product get description | findstr /C:.NET
How to uninstall .NET
If you wish to remove a .NET version from your computer, you can simply uninstall it like any other regular application. Here are the steps to following:
-
Press the Windows Key + R shortcut keys to open the Run Command box.
-
Type in “appwiz.cpl” and press Enter to open the Programs and Features applet.
-
Right-click the .NET component that you want to remove, then click Uninstall from the context menu.
The uninstallation wizard will now launch.
-
Click “Uninstall” again.
-
When removed, click Close.
Closing words
As mentioned earlier in this post, .NET 8 will be replacing .NET 6, since both are released from the LTS channel. However, .NET 6 will be supported for another year till 12th November 2024, as can be seen on our .NET End of Life information page. During this duration, the developers can slowly upgrade to .NET and gain benefit from the latest features and improvements.
Over time, Microsoft has been developing .NET 8 and releasing new features with each iteration. From Preview 1 of .NET 8 to Release Candidate 2, you can learn what new has been included from the release history below.
.NET 8 Release History
Complete Version | Release Date | Significant Improvements | Announcement |
.NET 8 | 14-Nov-23 | – Includes security improvements – Fastest .NET version to date – AI integration in .NET apps – AOT replaces JIT | Microsoft announces .NET 8 |
.NET 8 RC 2 | 10-Oct-23 | – Package READMEs for .NET libraries – Publish directly to TAR.GZ archives – Tensor Primitives for .NET | Microsoft announces .NET 8 RC 2 |
.NET 8 RC 1 | 12-Sep-23 | – Improvements to System.Text.Json | Microsoft announces .NET 8 RC 1 |
.NET 8 Preview 7 | 8-Aug-23 | – Improvements to System.Text.Json – Keyed services support amongst many other changes | Microsoft announces .NET 8 Preview 7 |
.NET 8 Preview 6 | 11-Jul-23 | – Improvements to System.Text.Json – New overloads – Addition of options validation source generator | Microsoft announces .NET 8 Preview 6 |
.NET 8 Preview 5 | 13-Jun-23 | – Improved Metrics APIs – Included .NET MAUI – Improved IDE experience with source link integration – Addition of .NET libraries analyzers | Microsoft announces .NET 8 Preview 5 |
.NET 8 Preview 4 | 16-May-23 | – Nuget security improvements to Template Engines – New terminal build output – Updates to simplified output paths | Microsoft announces .NET 8 Preview 4 |
.NET 8 Preview 3 | 11-Apr-23 | – Updates to SDK and Runtime libraries – Optimizations to JIT compilers – Improvements to containers | Microsoft announces .NET 8 Preview 3 |
.NET 8 Preview 2 | 14-Mar-23 | – Updates to libraries – Introspection support for function pointers | Microsoft announces .NET 8 Preview 2 |
.NET 8 Preview 1 | 21-Feb-23 | – Native AOT – Improvements to container images and Runtime Libraries | Microsoft announces .NET 8 Preview 1 |