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 日。
2Visual 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/