原文链接:https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-1/
Authors: Jeremy Likness, Angelos Petropoulos, Jon Douglas
The Wolf at the End of the Desert
Today we announce version 1 of. NET 7. This is the first of two Release Candidate (RC) for. NET 7 supported in production.
您可以下载适用于 Windows、macOS 和 Linux 的.NET 7 Release Candidate 1 。
- Installers and binaries
- Container images
- Linux packages
- Release notes
- Known issues
- GitHub issue tracker
.NET 7 Release Candidate 1 已通过 Visual Studio 17.4 Preview 2 测试。如果您想在 Visual Studio 系列产品中试用 .NET 7,我们建议您使用预览通道版本。如果您使用的是 macOS,我们建议使用最新的Visual Studio 2022 for Mac 预览版。
不要忘记.NET Conf 2022。在 2022 年 11 月 8 日至 10 日与我们一起庆祝 .NET 7 的发布!
In this blog, we will focus on the core themes of. NET 7 and provide you with in-depth resources for details.
To review in more detail all the features and improvements included in. NET 7 Release Candidate 1, check out the previous. NET 7 Preview blog post:
- 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 Application UI (MAUI) unifies Android, iOS, macOS, and Windows APIs into one API, so you can write an application that runs natively on multiple platforms. NET MAUI enables you to deliver the best application experience specifically designed by each platform (Android, iOS, macOS, Windows, and Tizen), while also enabling you to create a consistent brand experience with rich styles and graphics. Out of the box, each platform looks and behaves the way it should be, without any additional widgets or styles.
As part of. NET 7,. NET MAUI provides a project to handle multiple goals across devices and their platforms. To learn more about productivity improvements, tools 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 out. NET MAUI using. 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 take advantage of elasticity, scalability, efficiency and speed.
NET is a great 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, excellent 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 resources:
modernization
On the modern version of. NET, you can take advantage of lightning performance and a host of new features to improve the quality of life for developers.
To make the upgrade experience as seamless as possible, the. NET Upgrade Assistant provides you with 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 currently the fastest. NET.. NET 7 makes more than a thousand performance improvements in reflection, stack replacement (OSR), startup time, native AOT, loop optimization and many other areas.
For more information on why. NET 7 is currently the fastest release, check out the following resources:
Contributor spotlight: Filip Navara
向我们所有的社区成员致以巨大的“谢谢”。我们非常感谢您的周到贡献。我们请贡献者@filipnavara分享他的想法。

In Philip's own words:
I have been playing computer since I was a child. When visiting my grandfather, I often see him doing his work at BASIC. He was writing factory automation software, and I inherited from him my love of all technical things. DOS was the standard system at the time, and Borland dominated the programming tools. I want to understand how programming works and learn it. I stubbornly refused all his suggestions and had to learn everything myself through trial and error. It's silly, but it's interesting to see these Mini programs come alive.
Gradually, I started programming in different languages, exploring the Internet, and then the open source world. I like coding on low-level software such as compilers, operating systems, or system simulators best. In my spare time in high school, I contributed to projects such as Wine, ReactOS, QEMU, Binutils, and the MinGW compiler toolset.
When the first version of the. NET Framework came out, I was immediately hooked. It ensures the simplicity of Delphi that I am familiar with, and the C#language is really fun to learn. The timing was just right, because my friends and I started a small project to develop an email client application, and we all agreed to build it in. NET. That application, eM Client, kept me busy throughout my college studies. To this day, it is still my current project; although the team has grown, my responsibilities have shifted, and we have a lot of very talented programmers to relieve me of my responsibilities.
Open source of. NET is a great boon for us and makes many things easier. Nowadays, I can focus more on part-time projects, and contributing to. NET is a natural choice. It allows me to make the most of my knowledge, from the low-level details of hardware and the interiors of the operating system to the high-level frameworks our email applications are built on.
Open code allows me to promote 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, I began to contribute more. For us, different platforms such as Xamarin.Mac and Mono have been lagging behind in terms of the features supported by the. NET we use on Windows, which has been a pain point for us. Initially, I started filling in the gaps in the Mono base library, which already shares some code with. NET Core. I realized that this catch-up game might not be the best solution, so I started exploring other options, such as running Xamarin.Mac on CoreCLR. It happened just a few days before writing the first MonoVM (the Mono runtime in. NET 5+) commit. Once I realized what was happening, I joined the plan. All of this work was hidden on GitHub, and an official announcement was made at the Build conference a few months later. It was exciting to see the progress and I built my own Xamarin runtime build, which ran on this early unified MonoVM runtime and showed the first UI. Eventually, it even launched our email client application. This really changed the rules of our game. With the old. NET Framework, we couldn't use new features when they were released. Deployment of new versions will take years to catch up. Now I am in the opposite situation, running earlier than everyone else!
This work on runtime unification has now been successfully concluded and we have released applications with the latest. NET 6 to our customers. However, there are many areas in. NET that can still be improved, and I enjoy working with people on the. NET team. I try to drive at least one secondary feature for each version. For. NET 6, I focused on getting the iOS encryption stack working properly. For. NET 7, with great help from the networking team, I tried an API for handling Negotiate/Kerberos/NTLM authentication. Although it is not a very attractive or visible feature, it is a long-term technical debt. Code is missing in unit and functional testing;ASP.NET accesses internally through reflection and is not NativeAOT friendly; and most importantly, library authors have to use complex methods to solve the lack of simple public APIs.
I sincerely hope to make more contributions in the future, and I am happy to see other contributors find areas of interest to them and make the entire platform better for everyone!
support
.NET 7 不是长期支持 (LTS) 版本,因此它将在发布之日起 18 个月内获得免费支持和补丁。重要的是要注意所有版本 LTS 的质量是否相同。唯一的区别是支撑的长度。有关 .NET 支持政策的更多信息,请参阅.NET 和 .NET Core 官方支持政策。
road map
The. NET version includes products, libraries, runtimes, and tools, and represents collaboration between multiple teams inside and outside Microsoft. You can learn more about these areas by reading the product roadmap:
end
我们感谢您对 .NET 的所有支持和贡献。请尝试 .NET 7 Release Candidate 1并告诉我们您的想法!