Original link: https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-1/
Original authors: Jeremy Likness, Angelos Petropoulos, Jon Douglas
Translation: Wolf at the End of the Desert (with Google Translate assistance)
Today we announce .NET 7 Release Candidate 1. This is the first of two release candidates (RC) for .NET 7 that are supported in production.
You can download .NET 7 Release Candidate 1 for Windows, macOS, and Linux.
- Installers and binaries
- Container images
- Linux packages
- Release notes
- Known issues
- GitHub issue tracker
.NET 7 Release Candidate 1 has been tested with Visual Studio 17.4 Preview 2. If you want to try .NET 7 in Visual Studio family products, we recommend using the Preview channel version. If you are on macOS, we recommend the latest Visual Studio 2022 for Mac Preview.
Don't forget .NET Conf 2022. Join us from November 8–10, 2022 to celebrate the release of .NET 7!
In this blog, we will focus on the core themes of .NET 7 and provide you with resources to dive deeper into the details.
For a more detailed review of all features and improvements included in .NET 7 Release Candidate 1, check out the previous .NET 7 Preview blog posts:
- Announcing .NET 7 Preview 1
- Announcing .NET 7 Preview 2
- Announcing .NET 7 Preview 3
- Announcing .NET 7 Preview 4
- Announcing .NET 7 Preview 5
- Announcing .NET 7 Preview 6
- Announcing .NET 7 Preview 7
.NET MAUI
.NET Multi-platform App UI (MAUI) unifies Android, iOS, macOS, and Windows APIs into a single API, so you can write an application that runs natively on multiple platforms. .NET MAUI enables you to deliver the best app experience tailored specifically for each platform (Android, iOS, macOS, Windows, and Tizen), while allowing you to build a consistent brand experience through rich styling and graphics. Out of the box, each platform looks and behaves as it should without any additional widgets or styling.
As part of .NET 7, .NET MAUI provides a single project for targeting multiple devices and their platforms. To learn more about productivity improvements, tooling, and performance enhancements, check out the following resources:
- Introducing .NET MAUI – One Codebase, Many Platforms
- Productivity comes to .NET MAUI in Visual Studio 2022
- Performance Improvements in .NET MAUI
- .NET Conf Focus on MAUI – That’s a wrap!
Note: The Visual Studio experience for trying .NET MAUI with .NET 7 will be available in the upcoming 17.4 Preview 2.1 release.
Cloud Native
Cloud native is a set of best practices for building applications in the cloud to leverage elasticity, scalability, efficiency, and speed.
.NET is an excellent choice for building cloud-native applications. To learn more about cloud-native features and improvements in .NET 7, check out the following resources:
- Announcing built-in container support for the .NET SDK
- Announcing gRPC JSON transcoding for .NET
- .NET 7 comes to Azure Functions & Visual Studio 2022
ARM64
ARM offers small size, superior performance, and high power efficiency.
.NET helps you build applications that run on ARM devices. For more information on how fast .NET 7 runs on ARM64, check out the following resource:
Modernization
On modern versions of .NET, you can leverage lightning-fast performance and a wealth of new features to improve developer quality of life.
To make the upgrade experience as seamless as possible, the .NET Upgrade Assistant provides a step-by-step guided experience to modernize your .NET applications by analyzing and upgrading your project files, code files, and dependencies.
For more information on how .NET 7 can help you modernize your applications, check out the following resources:
- Incremental ASP.NET to ASP.NET Core Migration
- Migrating from ASP.NET to ASP.NET Core in Visual Studio
Performance
.NET is fast. .NET 7 is the fastest .NET yet. .NET 7 includes over a thousand performance-impacting improvements in areas such as reflection, on-stack replacement (OSR), startup time, native AOT, loop optimizations, and many others.
For more information on why .NET 7 is the fastest version yet, check out the following resources:
Contributor spotlight: Filip Navara
A huge "thank you" to all our community members. We greatly appreciate your thoughtful contributions. We asked contributor @filipnavara to share his thoughts.

In Filip's own words:
I started playing with computers at a young age. While visiting my grandfather, I often saw him doing his work in BASIC. He was writing factory automation software, and I inherited my love for all things technical from him. DOS was the standard system back then, and Borland dominated programming tools. I wanted to understand how programming worked and learn it. I stubbornly refused all his advice and had to learn everything myself through trial and error. That was foolish, but it was fun seeing those small programs come to life.
Gradually, I started programming in different languages, exploring the internet, and then the open-source world. I most enjoy coding on low-level software like compilers, operating systems, or system simulators. In my spare time during high school, I contributed to projects like Wine, ReactOS, QEMU, Binutils, and the MinGW compiler toolset.
When the first version of .NET Framework came out, I was immediately drawn to it. It promised the simplicity of Delphi that I was familiar with, and the C# language was really fun to learn. The timing was perfect because my friends and I started a small project developing an email client application, and we all agreed to build it in .NET. That application, eM Client, kept me busy throughout my university studies. It is still my current project to this day; although the team has grown, my responsibilities have shifted, and we have many very talented programmers to relieve my duties.
The open-sourcing of .NET has been a huge blessing for us, making many things easier. Nowadays, I can focus more on side projects, and contributing to .NET was a natural choice. It allows me to fully leverage my knowledge, from low-level hardware details and operating system internals to the high-level framework our email application is built on.
The open code allowed me to push a project to port the WinForms framework to macOS (based on Mono code but using Cocoa native controls in many places). When the .NET 5 unification plan began to take shape, I started making more contributions. It was always a pain point for us that platforms like Xamarin.Mac and Mono were lagging behind in features supported by the .NET we use on Windows. Initially, I started filling gaps in the Mono base class library, which already shared some code with .NET Core. I realized this game of catch-up might not be the best solution, so I started exploring other options, like running Xamarin.Mac on CoreCLR. It happened just a few days before the first MonoVM (the Mono runtime in .NET 5+) commit was written. Once I realized what was happening, I joined the plan. All this work was hidden on GitHub, and a few months later, the official announcement was made at the Build conference. It was exciting to see the progress, building my own Xamarin runtime build that ran on this early unified MonoVM runtime, showing the first UI. Eventually, it even launched our email client application. This really changed the game for us. With the old .NET Framework, we couldn't use new features when they were released. Deploying new versions took years to catch up. Now I'm in the opposite situation, running ahead of others!
This work on runtime unification has now concluded successfully, and we've shipped to customers our application on the latest .NET 6. However, there are still many places in .NET that can be improved, and I enjoy working with people from the .NET team. I try to drive at least one minor feature per release. For .NET 6, I focused on getting the iOS cryptography stack working properly. For .NET 7, with great help from the networking team, I attempted an API for handling Negotiate/Kerberos/NTLM authentication. While it's not a very attractive or visible feature, it was a long-standing piece of technical debt. There was missing code in unit and functional tests; ASP.NET accessed internals via reflection, which wasn't NativeAOT-friendly; and most importantly, library authors had to use complicated methods to work around the lack of a simple public API.
I sincerely hope to contribute more in the future, and I'm excited to see other contributors find areas they are passionate about and make the entire platform better for everyone!
Support
.NET 7 is not a Long-Term Support (LTS) release, so it will receive free support and patches for 18 months from the release date. It's important to note that all releases are of the same quality as LTS. The only difference is the length of support. For more information on the .NET support policy, see the .NET and .NET Core Official Support Policy.
Roadmap
.NET releases include products, libraries, runtime, and tooling, representing collaboration between multiple teams inside and outside Microsoft. You can learn more about these areas by reading the product roadmaps:
Closing
We thank you for all your support and contributions to .NET. Please try .NET 7 Release Candidate 1 and let us know what you think!