微软发布.NET 9预览版6

.NET 9 第六个预览版发布总结

上周,微软发布了 .NET 9 框架的第六个预览版,带来了 .NET Runtime、SDK、库、C# 以及 ASP.NET Core、Blazor 和 .NET MAUI 等多个框架的更新。该版本旨在提升性能、改善开发者体验并扩展功能。

发布计划与支持

.NET 9 的稳定版本预计将在今年晚些时候发布,它将是一个标准支持周期(STS)版本,支持时间为 18 个月,从 2024 年 11 月 12 日至 2026 年 5 月 12 日,并将在多个操作系统上运行。

.NET 库的更新

在 .NET 库方面,第六个预览版引入了多项改进:

  • System.Numerics 进行了多项增强。
  • Logging Source Generator 现在支持主构造函数。
  • System.Text.Json 获得了多项更新,包括新的 JsonSchemaExporter、对可空注解的识别以及新的合约元数据 API。
  • GeneratedRegex 属性现在可以应用于属性,并引入了新的 EnumerateSplits 方法以简化集合类型的分割操作。
  • 引入了通用的 OrderedDictionaryReadOnlySet<T>,用于创建不可变的集合包装器。

其他改进包括对集合查找的支持、更多基于 Span 的 API(如 StartsWith 和 EndsWith)、优化的 Base64Url 编码和解码、默认使用 SocketsHttpHandlerHttpClientFactory,以及 Linux 上支持使用客户端证书的 TLS 恢复。

此外,System.Diagnostics.Metrics 现在提供了符合 OpenTelemetry 规范的 Gauge 仪表,用于记录非累加值的变化。

.NET Runtime 的更新

在 .NET Runtime 方面,ARM64 代码生成现在支持存储操作,RyuJIT 的块重排序算法被简化以改善代码布局,并实现了循环优化以减少代码大小并提高性能。此外,通过增强 RyuJIT 对局部变量地址的跟踪,减少了地址暴露。

该版本还引入了对 Intel 的新 SIMD 指令集 AVX10v1 的支持,并改进了硬件内部代码生成和浮点及 SIMD 操作的常量折叠。

.NET SDK 的更新

.NET 9 预览版 SDK 引入了新功能以增强安全性和构建过程:

  • NuGetAudit 现在会对传递依赖中的漏洞发出警告。
  • 新增了 dotnet nuget why 命令,帮助开发者了解项目中传递包的使用情况。
  • 引入了 MSBuild BuildChecks,用于在构建过程中强制执行规则和不变性。

C# 13 的更新

C# 13 引入了部分属性,类似于部分方法,主要用于支持源代码生成器。这些新增功能基于 C# 9 对部分方法的改进,为开发者提供了更多灵活性。

ASP.NET Core 的更新

在 ASP.NET Core 方面,静态 Web 资产现在支持指纹识别,以防止使用过时资产并改善缓存行为以加快加载速度。SignalR 通过新的 ActivitySource(名为 Microsoft.AspNetCore.SignalR.Server)改进了分布式跟踪,该源会为 Hub 方法调用发出事件。

此外,Microsoft.AspNetCore.OpenAPI 库增强了对 RequiredDefaultValue 属性的支持,并支持 OpenAPI 文档的模式转换。新增的分析器会在 AuthorizeAllowAnonymous 覆盖时发出警告。

其他改进包括将 ComponentPlatform 重命名为 RendererInfo,以及 Kestrel 现在会拆分过大的 HTTP/2 头部以适应单个 HEADER 或 CONTINUATION 帧。

下载与更多信息

感兴趣的读者可以在官方发布说明中了解更多详细信息,.NET 9 预览版 6 的下载已适用于 Linux、macOS 和 Windows。

阅读 22
0 条评论