.NET 6 迎来 RC 2,Visual Studio 2022 同日官宣发布日期

架构头条 2021-10-14 16:00
作者 | 闫园园

10 月 12 日,微软 .NET 团队宣布发布 .NET 6 Release Candidate 2,就在同一天,Visual Studio 团队宣布将在 11 月 8 日发布 Visual Studio 2022。据悉,.NET 6 RC 2 将不受 Visual Studio 2019 支持,因此如果要使用 .NET 6,则需要升级到 Visual Studio 2022。在本次 RC 2 发布公告中,主要介绍了 C#10 的新特性以及 macOS 和 Windows Arm64 的更新等。

1 专注功能稳定性和性能优化

过去的一年时间内,微软.NET 团队和社区一起在 6 个预览版本中加入了大量的功能特性,从 RC1 开始不再增加新的功能特性,只专注于功能的稳定性和性能优化,因此 RC2 发布公告也同样不关注新功能,而是 .NET 6 的基础性功能:

C# 10 新特性

C# 10 的更新内容很多,我们列举几个C# 10 中的新特性:

  • record 结构体

之前 record 的实现是使用一个 class 作为基础对象的,目前还会有一个 record struct 的变体可用。区别在于,普通的 record 在函数之间传递的是引用,而 record struct 是其值的拷贝,record struct 也会支持 with 运算符。同时,还允许向 record 添加运算符,两种 record 类型都可以。

  • 全局 using 指令

C# 10 引入了一种新模式,允许开发者使用关键字 global 定义整个项目的命名空间导入。推荐做法是,将全局导入放在一个单独的文件中(每个项目一个),可以命名为 usings.cs 或 imports.cs。

  • 文件范围的命名空间

C# 10 提供了另一种简化代码的方法:声明文件范围的命名空间。此功能的语法如下:

namespace Foo;

它替代了传统三行语法 :

namespace Foo{}
  • const 和内插字符串

新增可以给 const string 使用字符串插值:

const string Bar = "Bar";const string DoubleBar = $"{Bar}_{Bar}";WriteLine(DoubleBar);
  • 扩展属性模式

目前可以在属性模式中引用嵌套属性或字段。例如:

{ Prop1.Prop2: pattern }

而之前,需要使用更详细的形式:

{ Prop1: { Prop2: pattern } }

当然,C# 10 中的新特性不止这些,更多新特性可查看 .NET 6 Release Candidate 2 发布公告:

https://devblogs.microsoft.com/dotnet/announcing-net-6-release-candidate-2/

.NET SDK:现代化 C# 项目模板

.NET 团队为 .NET 6 项目默认启用了隐式引用(又称 opt-out),并已更新 SDK,使所有的新功能都可以选择加入,在 RC1 中这一改变的反馈是积极的。

同时针对一些开发者的反馈说不喜欢 Program.cs 文件中的顶层语句,.NET 团队也对顶层语句进行了改进且继续将其用于模板。

以下是新模板中使用的语言特性:

  • async Main

  • 顶层语句

  • 目标类型 new 表达式

  • 全局引用指令

  • 文件范围命名空间

  • 可空的引用类型

macOS 和 Windows Arm64 更新

.NET 团队对 macOS 和 Windows Arm64 上的进展进行了以下几点总结:

  • .NET 6 RC2 实现了 Arm64 + x64 的共存;开发人员需卸载所有的 .NET 构建,并从头开始(在 macOS 和 Windows Arm64 机器上)采用 .NET 6 RC2+;

  • Pre .NET 6 的构建尚未准备好安装;

  • Arm64 SDK 现支持 Arm64 和 x64 开发;

  • 建议开发人员只使用 Arm64 SDK;

  • 只支持 Arm64 上的 .NET 6+;

  • 运行时,将支持所有支持的版本,包括 Arm64 和 x64;

  • .NET 6 RC2 为 Arm64 提供了大部分最终的 .NET 6 体验;

  • 有望更新 .NET Core 3.1 和 .NET 5 运行系统,这部分处于待定;

  • .NET 6 发布后,.NET 5 Arm64 SDK 将停止支持。

.NET 6 预计将在 2021 年 11 月 9 日至 11 日发布,并且将作为长期支持 (LTS) 版本获得三年的支持。据悉,本次发布的 .NET 6 RC 2 将不再支持 Visual Studio 2019,因此如果要使用 .NET 6,则需要升级到 Visual Studio 2022。10 月 12 日,Visual Studio 产品团队宣布 VS 2022 候选版(Release Candidate,RC)和 Preview 5 (预览版 5)发布下载,同时宣布 Visual Studio 2022 正式版的发布日期定于 11 月 8 日。

2 Visual Studio 2022 终于迈向 64 位时代

Visual Studio 2022 是第一个 64 位 Visual Studio 的版本,64 位的版本将能更好的利用系统资源,特别是长时间使用的复杂解决方案。但迈向 64 位时代的 Visual Studio 不会对所生成的应用程序类型或位数造成影响,新的 Visual Studio 同样可以帮助开发者构建起 32 位应用。

通过安装 Visual Studio 2022 的 RC 版本,可为 Visual Studio 2022 的通用发布 (GA) 做准备。

如果开发者想使用 Visual Studio 构建生产就绪的应用程序和项目,并接受较少的功能更新,可以选择使用 RC 版本,正式版发布后,RC 版将更新为 GA 版;如果想尝试 Visual Studio 2022 的最新功能,可以使用预览版 5。在发布时,预览版 5 将更新为 Visual Studio 2022 17.1 Preview 1,并将包括团队正在开发的最新功能。

如果拥有企业版或专业版的许可证,并且一直在使用此版本,可以简单地更新到预览版 5 或 RC 版,然后使用订阅用户帐户登录。如果有资格使用 Community 社区版,也可以更新到预览版 5 或 RC 版。如果没有许可证或不能使用 Community 社区版,有一个试用版可供尝试 Visual  Studio 2022。

此外,开发者仍可以使用 Visual Studio 2019,并行安装 Visual Studio 2022 RC 或预览版 5。

参考链接:

https://devblogs.microsoft.com/dotnet/announcing-net-6-release-candidate-2/

https://devblogs.microsoft.com/visualstudio/join-us-november-8th-for-the-launch-of-visual-studio-2022/https://www.theregister.com/2021/10/13/microsoft_dotnet_updates/

今日推荐文章:
看完 Jamstack 调查报告,我抓住了最新的 Web 流行趋势
女吹哨人引发内部动荡,Facebook 难过道德破产危机?
如何创建可扩展和可维护的前端架构
推荐阅读