作者:Richard

翻译:精致码农-王亮

原文:http://dwz.win/WFz

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

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

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

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

对于 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 预览文章编写了许多示例。你可能想看看 .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 之间并不总是相同的,也不总是同时发布的。

作为 .NET 5.0 和 6.0 的一部分,我们正在将 .NET 统一为一个单一的产品体验,同时使你能够只选择你想要使用的 .NET 平台的一部分。如果你想针对 Mobile 而不是 WebAssembly,你不需要下载 WebAssembly 工具,反之亦然,ASP.NET Core 和 WPF 也一样。你也将有一个更简单的方法从命令行获取所有你需要的 .NET 工具和运行时包。我们正在为 .NET 平台组件启用包管理器体验(包括使用现有的包管理器)。这对于很多场景来说都会有很大的帮助。开发环境的快速构建和 CI/CD 可能会是最大的受益者。

我们原本打算用 .NET 5.0 来提供全部的统一愿景,但在全球大流行之后,我们不得不适应客户不断变化的需求。我们一直在与来自世界各地的公司团队合作,这些公司需要帮助他们加快采用云技术。他们也必须适应客户不断变化的需求。因此,我们正在通过两个版本来实现这一愿景。

实现这一愿景的第一步是整合.NET 资源库,包括 Mono 的大部分子集。为 .NET 的运行时和库提供一个资源库是在所有地方提供相同产品的前提条件。它还有助于进行影响运行时和库的广泛更改,而以前的版本库是有边界的。有些人担心一个大的 repo 会更难管理,事实证明并非如此。

在 .NET 5.0 版本中,Blazor 是利用 repo 整合和.NET 统一的最好例子。现在,Blazor WebAssembly的运行时和库都是由合并后的dotnet/runtime repo 构建的。这意味着 Blazor WebAssembly 和服务器上的 Blazor 使用完全相同的代码,例如List<T>。在.NET 5.0 之前,Blazor 的情况并非如此。我们对 Blazor WebAssembly 采用的方法与我们在 .NET 6.0 中对 Xamarin 采用的方法非常相似。

.NET 框架仍然是微软支持的产品,并将继续支持每个新版本的 Windows。我们去年宣布,我们已经停止向 .NET Framework 添加新功能,并完成了向 .NET Core 添加 .NET Framework API 的工作。这意味着,现在是考虑将你的 .NET Framework 应用程序转移到 .NET Core 的好时机。对于 .NET Framework 客户端开发者来说,.NET 5.0 支持 Windows Forms 和 WPF。我们从许多开发人员那里听说,可以直接从 .NET Framework 移植。对于.NET Framework 服务器开发者来说,你需要采用 ASP.NET Core 来使用 .NET 5.0。对于 Web Forms 开发人员来说,我们认为 Blazor 提供了类似的开发体验,其实现效率更高、更现代化。WCF 服务器和工作流用户可以寻找支持这些框架的社区项目。从 .NET Framework 到 .NET Core 的移植文档是一个很好的开始。说了这么多,如果你对自己的体验感到满意的话,将你的应用保持在 .NET Framework 上是一个不错的方法。

Windows 团队正在研究 Project Reunion,作为 UWP 和相关技术的下一步任务。我们一直在与 Reunion 团队合作,以确保 .NET 5.0 及以后的版本能够与 WinUI 和 WebView2 良好地配合。


译注:原文后面概括了一些 C# 9 语言新特性及平台新特性,基本都是代码示例,请移步原文查看(老夫实在翻译不动了)。关于 C# 9 新特性更详细的介绍可以阅读我的系列文章[C# 9.0 新特性],该系列还会继续更新。

如约而至,.NET 5.0 正式发布的更多相关文章

  1. Spring Boot 2.0正式发布,新特性解读

    作者|翟永超 Spring Boot 2.0 来啦,有哪些新特性?升级吗? 写在前面 北京时间 3 月 1 日,经过漫长的等待之后,Spring Boot 2.0 正式发布.作为 Spring 生态中 ...

  2. 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)

    如约而至,Java 10 正式发布!   3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...

  3. AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!

    文章更新: AppBox v6.0中实现子页面和父页面的复杂交互 AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox ...

  4. Socket.IO 1.0 正式发布,快速可靠的实时引擎

    Socket.IO 是目前 Web 领域最火的实时引擎,用于实现基于事件的双向实时的通信.它适用于任何平台,浏览器或设备,专注于可靠性和速度.您可以将数据推送到客户端,并获得实时的计数,日志或图表. ...

  5. Django 1.6.0 正式发布,大幅改进事务处理

    Django 1.6.0 正式发布了,查看官方发行说明. 下载地址:Django-1.6.tar.gz ,也可通过 pip 安装: pip install Django==1.6 要求 Python ...

  6. Apache Spark2.0正式发布

    Apache Spark2.0正式发布 7月26日起Databricks开始提供Apache Spark 2.0的下载,这个版本是基于社区在过去两年的经验总结而成,不但加入了用户喜爱的功能,也修复了之 ...

  7. 【G-BLASTN 1.0正式发布】

    [G-BLASTN 1.0正式发布]G-BLASTN使用GPU来加速NCBI-BLAST里的BLASTN模块,单块GTX780比四核CPU平均快6倍. http://www.comp.hkbu.edu ...

  8. avalon1.0正式发布

    2013年最后的收成:avalon1.0正式发布 大半年前我就说过,MVVM是前端究极的解决方案,因此之后我大多数时间都在折腾avalon,成立了专门的QQ群与感兴趣的一起讨论.感谢第一批吃螃蟹的人, ...

  9. Angular4.0.0正式发布,附新特性及升级指南

    本文首发地址:Angular4.0.0正式发布,附新特性及升级指南 作者|孙薇 编辑|尾尾 经历了6个RC版本之后,Angular项目组终于发布了新版,即正式版 Angular 4.0.0.新版的 A ...

  10. 重磅:Spring Boot 2.0 正式发布!

    Spring Boot 2.0 正式发布! 2018/03/01最新消息,传得沸沸扬扬的Spring Boot 2.0 正式发布了. 小编去看了下Spring Boot的官网,正式版本已经释放出来了! ...

随机推荐

  1. docker-创建容器常见选项

    1. docker run创建容器常见选项 1.1 创建容器 选项 描述 -i,-interactive 交互式 -t,-tty 分配一个伪终端 -d,-detach 运行容器到后台 -e,-env ...

  2. js 递归的理解

    友情提示:阅读本文需花 3分钟左右! 递归函数必须接受参数. (比如我要递归谁?) 在递归函数的定义初始,应该有一个判断条件,当参数满足这个条件的时候,函数停止执行,并返回值.(指定退出条件,否则就会 ...

  3. ok6410 3.0.1内核调用V4L接口出错解决方法(转)

    在做视频监控项目,以前一直用的是2.6.36的内核,一直很正常,但是这几天换3.0.1内核,启动程序,却出现了错误,如下: ./test_usb_camera XXXXXXXXXXXXXXXXXXXX ...

  4. 用网桥和veth实现容器的桥接模式

    原理图如下 具体命令先不写了,有时间再写,主要还是用的上一篇说的知识.

  5. 实验五 Internet与网络工具的使用

    实验五 Internet与网络工具的使用 [实验目的]⑴.FTP服务器的架设和客户端的使用. ⑵.使用云盘和云笔记应用 ⑶.运用QQ的远程协助功能. (4).默认安装foxmail软件,进行邮件的收发 ...

  6. 多测师讲解第一个月 _综合面试题_高级讲师肖sir

    第一个月综合面试题 1.  冒烟测试是什么意思?  对主要的用例测试 2.你们公司的项目流程是什么? 3.你们公司的bug分几个级别?  4个 4.你对外键是怎么理解的? 你会使用外键吗?给一个表添加 ...

  7. 为了运行十年前的代码,程序员们甚至翻出了一台 1977 年的 Apple II

    "Hello, World!" 46 年过去,这段被世人熟知的代码仍散发着历久弥新的魅力,和它一起登场的 C 语言,如今也成长为世界几大通行编程语言之一,为互联网世界乃至现实世界都 ...

  8. 如果你想or即将成为一名程序员,那你需要知道这些东西!上岗须知~

    前两天公司学院的同学给我看了一下即将入职的应届生的数量,真是不少.感慨一下,一批新人即将到来,而自己又老去了一岁.码农是一个必将终身学习的职业.而相关的知识越来越多了.接下来该学什么?接下来该干什么? ...

  9. HDU - 6736 F - Forest Program

    题意 给你n个点m条边,并且保证整个图是仙人掌. 仙人掌:每条边仅属于1条或者0条回路 且无重边和自环 让你删掉一些边使其变成一棵树(拥有点数-1条边) 注意一个点也是森林 图可能是不联通的 思路 考 ...

  10. oh my zsh 常用插件

    date: "2020-10-18T12:36:00+08:00" title: "oh my zsh 常用插件" tags: ["zsh" ...