本文翻译于Jeremy Likness, Angelos Petropoulos 和 Jon Douglas的这篇英文文章:Announcing .NET 7 Release Candidate 1 。
今天,我们宣布推出 .NET 7 Release Candidate 1。这是在生产中支持的 .NET 7 的两个候选版本 (RC) 中的第一个。
您可以下载适用于 Windows、macOS 和 Linux 的 .NET 7 Release Candidate 1。
.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 的发布!
在本博客中,我们将重点介绍 .NET 7 的核心主题,并为您提供深入了解细节的资源。
有关.NET 7 Release Candidate 1 中包含的所有功能和改进的详细概述,请查看之前的 .NET 7 预览版博客文章:
- 宣布发布.NET 7 预览版 1
- 宣布发布.NET 7 预览版 2
- 宣布发布.NET 7 预览版 3
- 宣布发布.NET 7 预览版 4
- 宣布发布.NET 7 预览版 5
- 宣布发布.NET 7 预览版 6
- 宣布发布.NET 7 预览版 7
.NET MAUI
.NET 多平台应用程序 UI (MAUI) 将 Android、iOS、macOS 和 Windows API 统一到一个 API 中,因此您可以编写一个在多个平台上本机运行的应用程序。.NET MAUI 使您能够提供专为每个平台(Android、iOS、macOS、Windows 和 Tizen)设计的最佳应用体验,同时使您能够通过丰富的样式和图形打造一致的品牌体验。开箱即用,每个平台的外观和行为都符合其应有的方式,无需任何额外的小部件或样式。
作为 .NET 7 的一部分,.NET MAUI 提供了一个单独的项目来处理跨设备及其平台的多目标。想要了解有关生产力改进、工具和性能增强的更多信息,请查看以下资源:
- .NET MAUI 简介——一个代码库,多个平台
- Visual Studio 2022 中的.NET MAUI 提高生产力
- .NET MAUI 中的性能改进
- .NET Conf 专注于MAUI——这是一个总结!
注意:在 .NET 7 中试用 .NET MAUI 的 Visual Studio 体验将在17.4 Preview 2.1 版本中提供。
Cloud Native
Cloud native是一组在云中构建应用程序以利用弹性、可扩展性、效率和速度的最佳实践。
.NET 是构建cloud native应用程序的绝佳选择。 想要了解有关 .NET 7 中的cloud native功能和改进的更多信息,请查看以下资源:
ARM64
ARM 外形小巧,具有出色的性能和高能效。
.NET 可帮助您构建在 ARM 设备上运行的应用程序。 有关 .NET 7 在 ARM64 上运行速度的更多信息,请查看以下资源:
现代化
在现代版本的 .NET 上,您可以利用闪电般的性能和大量新功能来提高开发人员的生活质量。
为了使升级体验尽可能无缝,.NET 升级助手为您提供分步指导体验,通过分析和升级项目文件、代码文件和依赖项来现代化 .NET 应用程序。
有关 .NET 7 如何帮助您实现应用程序现代化的更多信息,请查看以下资源:
性能
.NET速度很快。 .NET 7 是目前最快的 .NET。 .NET 7 对反射、堆栈替换 (OSR)、启动时间、本机 AOT、循环优化和许多其他领域带来了上千项影响性能的改进。
有关为什么 .NET 7 是目前最快的版本的更多信息,请查看以下资源:
贡献者聚光灯:Filip Navara
非常感谢我们所有的社区成员。 我们非常感谢您的周到贡献。 我们请贡献者@filipnavara 分享他的想法。
用Filip自己的话说:
我从小就玩电脑。 在拜访我的祖父时,我经常看到他在 BASIC 工作。 他正在编写工厂自动化软件,我从他那里继承了我对所有技术的热爱。 DOS 是当时的标准系统,而 Borland 主导了编程工具。 我想了解编程的工作原理并学习它。 我固执地拒绝了他的所有建议,不得不自己通过反复试验来学习一切。 这很愚蠢,但看到这些小程序变得生动起来很有趣。
渐渐地,我开始用不同的语言编程,探索互联网,然后是开源世界。 我最喜欢在编译器、操作系统或系统仿真器等低级软件上编写代码。 在高中的业余时间,我为 Wine、ReactOS、QEMU、Binutils 和 MinGW 编译器工具集等项目做出了贡献。
当 .NET Framework 的第一个版本问世时,我立刻就被吸引住了。 它保证了我熟悉的 Delphi 的简单性,而且 C# 语言学起来真的很有趣。 时机恰到好处,因为我和我的朋友开始了一个小项目来开发电子邮件客户端应用程序,我们都同意在 .NET 中构建它。 那个应用程序,eM Client,让我在整个大学学习期间都很忙碌。 直到今天,它仍然是我目前的项目; 随着团队的壮大,我的职责发生了变化,我们有很多非常有才华的程序员来减轻我的负担。
.NET 的开源对我们来说是一个巨大的福音,让很多事情变得更容易。 现在我可以更多地专注于副项目,为 .NET 做贡献是一个自然的选择。 它使我能够充分利用我的知识,从硬件和操作系统内部的低级细节到我们的电子邮件应用程序所基于的高级框架。
开放代码允许我驱动一个项目将 WinForms 框架移植到 macOS(基于 Mono 代码,但在许多地方使用 Cocoa 原生控件)。当 .NET 5 统一项目开始时,我开始做出更多贡献。对于我们来说,Xamarin.Mac 和 Mono 等不同平台在我们在 Windows 上使用的 .NET 支持方面一直落后,这一直是我们的痛点。最初,我开始填补 Mono 基类库中的空白,它已经与 .NET Core 共享了一些代码。我意识到这种追赶游戏可能不是最好的解决方案,因此我开始探索其他选项,例如在 CoreCLR 上运行 Xamarin.Mac。它发生在编写第一个 MonoVM(.NET 5+ 中的 Mono 运行时)提交前几天。一旦我意识到发生了什么,我就加入了该计划。所有这些工作都隐藏在 GitHub 上,几个月后在 Build 大会上正式宣布。很高兴看到进展,构建了我自己的 Xamarin 运行时版本,在这个早期的 Unity MonoVM 运行时上运行,显示了第一个 UI。最终,它甚至启动了我们的电子邮件客户端应用程序。这对我们来说确实是一个游戏规则的改变者。使用旧的 .NET 框架,我们无法在新功能发布时使用它们。在新版本的部署赶上之前,花了数年时间。现在我处于相反的境地,跑得比谁都早!
有关运行时统一的工作现已成功完成,我们已向客户发布了最新的 .NET 6 位应用程序。 但是,.NET 中仍有许多可以改进的地方,我喜欢与 .NET 团队的人一起工作。 我尝试为每个版本驱动至少一个次要功能。 对于 .NET 6,我专注于让 iOS 加密堆栈正常工作。 对于 .NET 7,在网络团队的大力帮助下,我尝试了一个小众 API 来处理 Negotiate/Kerberos/NTLM 身份验证。 虽然它不是一个非常有吸引力或可见的功能,但它是长期的技术债务。 单元和功能测试中缺少代码; ASP.NET通过反射访问内部结构,对NativeAOT不友好; 最重要的是,库作者必须使用复杂的方法来解决缺乏简单公共 API 的问题。
我真诚地希望在未来做出更多的贡献,我很高兴看到其他贡献者找到他们感兴趣的领域并让整个平台对每个人都更好!
支持
.NET 7 不是长期支持 (LTS) 版本,因此它将在发布之日起 18 个月内获得免费支持和补丁。 需要注意的是,所有 LTS 版本都具有相同的质量。 唯一的区别是支持的时间长度。 有关 .NET 支持政策的更多信息,请参阅官方 .NET 和 .NET Core 支持政策。
路线图
.NET 版本包括代表 Microsoft 内部和外部多个团队之间协作的产品、库、运行时和工具。 您可以通过阅读产品路线图了解有关这些领域的更多信息:
结束
我们非常感谢您对 .NET 的所有支持和贡献。 请尝试使用 .NET 7 Release Candidate 1,让我们知道您的想法!
作为一名.net 开发者,我很欣慰有.Net中文官方博客,让身在中国的我能快速的了解到最新的.net资讯。希望会越做越好!
加油!
感谢您的喜欢,有了您们的支持,我们肯定会越做越好的。