Microsoft has achieved another milestone with the release of .NET 7 Preview 1. Since this is a preview release, it may not be entirely stable. It is anticipated that more previews will be released over the months that introduce more features and brings stability.
This release has been made in correspondence with the 20th anniversary of .NET, which is based on the foundations established by .NET 6.
This release introduces new features to .NET, such as annotations to APIs to support nullability, ongoing JIT compiler optimizations, new APIs, and support for more hot reload scenarios. Furthermore, Microsoft claims that it has been tested with Visual Studio 17.2 Preview 1, and suggests that .NET 7 Preview 1 be used with preview versions of Visual Studio.
You can download and install .NET 7 Preview 1 using the download links given below for the following operating systems:
- Windows
- Linux
- MacOS
Let us now continue to see the significant new features and improvements in this release.
Table of contents
New in .NET 7 Preview 1
Support
Since .NET 7 is the current release of .NET, it will receive free support and patches from Microsoft for the next 18 months.
In terms of operating systems, this release will be compatible with the following architectures on Red Hat Enterprise Linux (RHEL) version 8:
- AMD x64
- Intel x64
- ARM (aarch64)
- IBM Z
- LinuxONE (s390x)
.NET Multi-Platform App User Interface (.NET MAUI)
Microsoft will be bringing a modern client with .NET 7 that natively supports multiple platforms. Since Microsoft recently also released .NET MAUI Preview 13, they plan to gradually roll it out to .NET 6 Release Candidates (RCs), then on to General Availability (GA) for the public, and then move on to .NET 7.
It seems like there is still time till this feature makes its way to .NET 7, but it is still good to know that it will come.
Creating Cloud-Native Apps Became Easier
Since the cloud-native applications are now built from scratch, using modern web-based resources such as database services and hosted containers, .NET 7 will make it easier to build cloud-native apps by exploring improvements to the developer experience, such as:
- Simplifying the setup and configuration necessary to implement secure authentication and authorization.
- Improving the performance of application startup and runtime execution.
Microsoft plans to further develop this feature and optimize containers for better usability and experience.
Improved .NET Apps
For some time now, Microsoft has been making upgrades to .NET applications, like minimal APIs and hot reload, new runtime and C# language innovations, and the availability of a mature ecosystem of libraries and tools.
Microsoft says that they will keep innovating these apps to eliminate the challenges with each individual .NET app, like ASP.NET, WinForms, WPF, etc.
Nullable Annotations for Microsoft Extensions
Nullable annotations allow you to check values and parameters if they return a null value. Microsoft has added the following libraries for nullability:
- Microsoft.Extensions.DependencyInjection.Abstractions
- Microsoft.Extensions.Logging.Abstractions
- Microsoft.Extensions.Primitives
- Microsoft.Extensions.FileSystemGlobbing
- Microsoft.Extensions.DependencyModel
- Microsoft.Extensions.Configuration.Abstractions
- Microsoft.Extensions.FileProviders.Abstractions
- Microsoft.Extensions.FileProviders.Physical
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Configuration.Binder
- Microsoft.Extensions.Configuration.CommandLine
- Microsoft.Extensions.Configuration.EnvironmentVariables
- Microsoft.Extensions.Configuration.FileExtensions
- Microsoft.Extensions.Configuration.Ini
- Microsoft.Extensions.Configuration.Json
With these, Microsoft plans to add all Microsoft.Extension libraries for nullability.
Improvements to Hot Reload
The Hot Reload feature in .NET 6 allows a developer to make changes to their code while the application is running and see the results on the go. This feature was first introduced in .NET 6 Preview 3.
Microsoft has now allowed the following C# hot reloads for Blazor WebAssembly or iOS and Android devices:
- Adding static lambdas to existing methods
- Adding lambdas that capture this to existing methods that already have at least one lambda that captures this
- Adding new static or non-virtual instance methods to existing classes
- Adding new static fields to existing classes
- Adding new classes
We have discussed the significant improvements in .NET 7 Preview 1. If you want to read more, refer to this Microsoft blog post.
Download .NET 7 Preview 1
Use the direct download links below to download the .NET 7 Preview 1 Runtime and SDKs matching your operating system and architecture:
Runtime
Download .NET 7.0.0 Preview 1 Desktop Runtime for Windows x64
Download .NET 7.0.0 Preview 1 Desktop Runtime for Windows x86
Download .NET 7.0.0 Preview 1 Desktop Runtime for Windows ARM64
Download .NET 7.0.0 Preview 1 Runtime for macOS x64
Download .NET 7.0.0 Preview 1 Runtime for macOS ARM64
Download .NET 7.0.0 Preview 1 Runtime Binaries for Linux Arm32
Download .NET 7.0.0 Preview 1 Runtime Binaries for Linux Arm64
Download .NET 7.0.0 Preview 1 Runtime Binaries for Linux Arm32 Alpine
Download .NET 7.0.0 Preview 1 Runtime Binaries for Linux Arm64 Alpine
Download .NET 7.0.0 Preview 1 Runtime Binaries for Linux x64
Download .NET 7.0.0 Preview 1 Runtime Binaries for Linux x64 Alpine
SDKs
Download .NET SDK 7.0.100 Preview 1 for Windows x64
Download .NET SDK 7.0.100 Preview 1 for Windows x86
Download .NET SDK 7.0.100 Preview 1 for Windows ARM64
Download .NET SDK 7.0.100 Preview 1 for macOS x64
Download .NET SDK 7.0.100 Preview 1 for macOS ARM64
Download .NET SDK 7.0.100 Preview 1 Binaries for Linux Arm32
Download .NET SDK 7.0.100 Preview 1 Binaries for Linux Arm64
Download .NET SDK 7.0.100 Preview 1 Binaries for Linux Arm32 Alpine
Download .NET SDK 7.0.100 Preview 1 Binaries for Linux Arm64 Alpine
Download .NET SDK 7.0.100 Preview 1 Binaries for Linux x64
Download .NET SDK 7.0.100 Preview 1 Binaries for Linux x64 Alpine
ASP.NET Core
Download ASP.NET Core Runtime 7.0.0 Preview 1 Hosting Bundle for Windows
Download ASP.NET Core Runtime 7.0.0 Preview 1 for Windows x64
Download ASP.NET Core Runtime 7.0.0 Preview 1 for Windows x86
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Windows ARM64
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for macOS x64
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for macOS ARM64
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Linux Arm32
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Linux Arm64
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Linux Arm32 Alpine
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Linux Arm64 Alpine
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Linux x64
Download ASP.NET Core Runtime 7.0.0 Preview 1 Binaries for Linux x64 Alpine
More download and install options here.
Install .NET 7 Preview 1
You can begin by downloading .NET 7 Preview 1 for your architecture from the links above and then execute it to begin the installation process.
- Run the installation package by double-clicking it (in the case of macOS and Windows), and then clicking Install on the installation wizard.
- The installation will now begin. It does not take much time nor does it require a restart. Click Close once it has been installed successfully.
You have now installed .NET 7 Preview 1. You may check which .NET version is running by typing in the following command in Command Prompt:
wmic product get description | findstr /C:.NET
Final Thoughts
Although this is the first public release of .NET 7, it does not mean that it is still too early to try it out. Yes, we do recommend that you do not install it in a production environment, but you can definitely test out the new features and improvements on an isolated PC or a Virtual Machine (VM).