.Net 6.0中的新增特性 .Net 6.0中的新增功能

- .Net 介绍 .NET LTS Apple

一、.Net 6 介绍


.NET 6 作为 LTS 长期支持版本,.NET 6 将会获得 3 年的技术支持。

.NET 6 是首个原生支持 Apple Silicon (Arm64) 的版本,并且还针对 Windows Arm64 进行了改进。

.NET 团队构建了一个新的动态配置文件引导优化 (PGO) 系统,该系统可提供仅在运行时才会进行的深度优化。

其他变化包括使用 dotnet monitor 和 OpenTelemetry 改进云诊断、提供更强大和更高效的 WebAssembly 支持,以及添加用于 HTTP/3、JSON 处理、数学和直接操作内存的新 API。


.NET 6 提供 .NET 统一计划的最终部分,该计划在 .NET 5 中启动。.NET 6 在移动、桌面、IoT 和云应用之间统一了 SDK、基础库和运行时。除了这方面的统一以外,.NET 6 生态系统还提供了以下功能:


简化开发:轻松入门。C# 10 中的新语言功能可减少需要编写的代码量。利用 Web 堆栈和最小 API 的投资,可以轻松地快速编写更小、更快速的微服务。


更佳的性能:.NET 6 是最快的完整堆栈 Web 框架,如果在云中运行,则会降低计算成本。


终极工作效率:.Net 6 和 Visual Studio 2022 提供热重载、新的 git 工具、智能代码编辑、可靠的诊断和测试工具以及更好的团队协作。


Visual Studio 2022 和 Visual Studio 2022 for Mac(以及更高版本)支持 .NET 6。


更多新特性查看官网:


.NET 6 中的新增功能 | Microsoft Docs


二、大量性能改进


.NET 6 包含大量性能改进。本部分列出了 FileStream、按配置优化和 AOT 编译中的一些改进。— 有关详细信息,请参阅 .NET 6 中的性能改进博客文章。


FileStream

已为 .NET 6 重写 System.IO.FileStream 类型,以便在 Windows 上提供更佳的性能和可靠性。现在 FileStream 绝不会在为 Windows 上的异步 I/O 创建时阻止。 


按配置优化

按配置优化 (PGO) 是指 JIT 编译器根据最常使用的类型和代码路径生成优化后的代码。.NET 6 引入了动态 PGO。动态 PGO 与分层编译配合运作,以根据层级 0 中实施的其他检测来进一步优化代码。动态 PGO 默认情况下处于禁用状态,但可以使用 DOTNET_TieredPGO 环境变量来启用它。 


Crossgen2

.NET 6 引入了 Crossgen2,它是已被删除的 Crossgen 的后继版本。Crossgen 和 Crossgen2 是用于提供预先 (AOT) 编译的工具,可改进应用的启动时间。Crossgen2 是用 C# (而不是 C++)编写的,可执行之前的版本无法实现的分析和优化。有关详细信息,请参阅有关 Crossgen2 的会话。


三、支持Arm64


.NET 6 版本支持 macOS Arm64(或“Apple Silicon”)和 Windows Arm64 操作系统,支持本机 Arm64 执行和 x64 模拟。此外,x64 和 Arm64 .NET 安装程序现在会并行安装。


四、热重载


使用热重载功能,可以修改应用源代码,并立即将这些更改应用到正在运行的应用。此功能的目的是避免在编辑之间重新启动应用程序,从而提高工作效率。热重载在 Visual Studio 2022 和 dotnet watch 命令行工具中可用。热重载适用于大多数类型的 .NET 应用以及 C#、Visual Basic 和 C++ 源代码。


五、.Net MAUI


六、C# 10和模板


为了配合这些内容,已采用新式 C# .NET SDK 项目模板以使用一些新的语言功能:


async Main 方法

顶级语句

目标类型的新表达式

隐式 global using 指令

文件范围的命名空间

可为空引用类型


七、System.Text.Json APIs


.NET 6 中的 System.Text.Json 已做了许多改进,因此它现在是一个“工业强度”的序列化解决方案。


八、新的 LINQ API


.NET 6 中添加了许多 LINQ 方法。下表中列出的大多数新方法在 System.Linq.Queryable 类型中具有等效方法。


等等等,更多探索后期完善。


阅读次数:

相关文章!