如约而至,.NET 5.0 正式发布

翻译:精致码农-王亮

原文:

说明:文章太长,后面关于 C# 9 语言新特性及平台新特性的部分没有翻译,这部分基本都是代码示例,请直接阅读原文。关于 C# 9 新特性的介绍也可以阅读我的系列文章[。

我们很高兴今天(美:11 月 10 日,中:11 月 11 日)能发布 .NET 5.0。这是一个重要的版本--包括 C# 9 和 F# 5--具有一系列广泛的新功能和引人注目的改进。微软和其他公司的团队已经在生产和性能测试中积极使用它。这些团队向我们展示了巨大的成果,展示了性能的提升、降低了的 Web 应用程序托管成本。从 开始,我们已经。从我们目前的所见所闻来看,.NET 5.0 带来了巨大的价值,而且升级无需进行较大的改动。对于你的下一个应用程序来说,它是一个很好的选择,并且可以从早期的 .NET Core 版本直接升级。我们希望能让你喜欢在台式机、笔记本电脑和云计算实例中使用它。

ASP.NET Core 和 EF Core 也在今天发布

你可以下载适用于 Windows,macOS 和 Linux 的 .NET 5.0(适用于 x86、x64、Arm32 和 Arm64 架构的 CPU ):

安装程序和二进制文件

容器镜像

Linux 软件包

发行说明

已知的问题

GitHub 问题追踪器

.NET 5.0 贡献者

对于 Visual Studio 用户,你需要Visual Studio 16.8或更高版本才能在 Windows 上使用.NET 5.0,并在 macOS 上使用 Visual Studio for Mac的最新版本。在 C#扩展为 Visual Studio 代码已经支持.NET 5.0 和 C#9。

.NET 5.0 是我们.NET 统一历程中的第一个版本。我们构建.NET 5.0 是为了让更多的开发者能够将他们的.NET Framework 代码和应用程序迁移到.NET 5.0 中。我们还在 5.0 中完成了许多早期工作,以便 Xamarin 开发人员能够在我们发布.NET 6.0 时使用统一的.NET 平台。关于.NET 统一的问题,后面还有更多内容。

现在是一个很好的时机来呼吁与每个为.NET 项目做出贡献的人进行美好的合作。现在官方的 GitHub中有大量的个人和大大小小的公司(包括.NET 基金会公司赞助商)组成的大型社区,就.NET 的各个方面共同协作。.NET 5.0 的改进是许多人的努力、聪明的想法以及他们对平台的关心和热爱的结果,所有这些都超过了微软对项目的管理。我们向每一位为.NET 5.0(以及之前的版本)做出贡献的人致以深深的谢意。

我们早在 2019 年 5 月就引入了.NET 5.0,甚至还设定了 2020 年 11 月的发布日期。在那篇文章中可以看到:“我们将在今年 9 月发布.NET Core 3.0,在 2020 年 11 月发布.NET 5,然后我们打算每年 11 月发布一次主要版本的.NET。” 你会认为 "2020 年 11 月 "是一张无法兑现的支票,因为今年面临着种种挑战。然而,.NET 5.0 已经按时发布。感谢团队中的每一个人,让这一切得以实现!我知道这并不容易。展望未来,你应该期待 2021 年 11 月的.NET 6.0。我们打算每年 11 月发布新的.NET 版本。

本篇博客的其余部分专门强调并详细介绍了.NET 5.0 中的大部分改进。此外,还更新了我们的.NET 统一愿景。

.NET 5.0 亮点

.NET 5.0 有许多重要的改进:

.NET 5.0 已经经过了实战检验,已在 dot.net 和 Bing.com 部署了好几个月。

在许多组件中,性能得到了极大的提高,在.NET 5.0 中的性能改进、.NET 5.0 中的 Arm64 性能和gRPC中都有详细介绍。

C#9 和 F#5 提供了新的语言改进,例如 C#9 的顶级程序和记录,而 F#5 提供了交互式编程,并提高了.NET 上的功能性编程的性能。

.NET 库增强了Json 序列化,正则表达式和 HTTP(HTTP 1.1、HTTP/2)的性能。

由于GC、分层编译等方面的改进,P95 延迟有所下降

应用部署选项更多更方便了,有了 ClickOnce 客户端应用发布、单文件应用程序、,并增加了 Server Core 容器镜像。

平台范围扩大,增加了Windows Arm64和WebAssembly。

我为.NET 5.0 预览文章编写了许多示例。你可能想看看 .NET 5.0 示例以了解有关 C#9 和库的新功能的更多信息。

平台和微软支持

.NET 5.0 具有与 .NET Core 3.1 几乎相同的平台支持矩阵,适用于 Windows、macOS 和 Linux。如果你在受支持的操作系统上使用 .NET Core 3.1,你应该能够在同一操作系统版本上采用 .NET 5.0 的大部分内容。.NET 5.0 最重要的新增功能是 Windows Arm64。

.NET 5.0 是一个当前版本。这意味着它将在.NET 6.0 发布后的三个月内得到支持。因此,我们预计将支持 .NET 5.0 到 2022 年 2 月中旬。.NET 6.0 将是一个 LTS 版本,并将像 .NET Core 3.1 一样支持三年。

统一平台愿景

去年,我们分享了一个统一的 .NET 协议栈和生态系统的愿景。对你的价值在于,你将能够使用一套单一的 API、语言和工具来针对广泛的应用类型,包括移动、云、桌面和物联网。你可能会意识到,今天你已经可以使用 .NET 瞄准一组广泛的平台,然而,工具和 API 在 Web 和 Mobile 之间并不总是相同的,也不总是同时发布的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxsyp.html