作者:.NET Team
排版:Alan Wang
现在是了解最新 .NET 9 预览版的好时机!我们刚刚发布了第六个预览版,在之前预览版的基础上添加了一些很棒的功能,并对 .NET Runtime、SDK、库、C# 和框架(包括 ASP.NET Core、Blazor 和 .NET MAUI)进行了重大改进。请查看下面链接的完整发行说明并立即开始使用。
下载 .NET 9 Preview 6
此版本包含以下改进:
对 System.Numerics 的改进
支持日志源生成器中的主构造函数
System.Text.Json 增强功能包括新的 JsonSchemaExporter、可为 null 的注释识别、需要非可选构造函数参数、对 JsonObject 属性进行排序以及新的契约元数据 API
[GeneratedRegex] 现在可以在属性上使用
Regex 的新 EnumerateSplits 方法可拆分更多集合类型
引入泛型 OrderedDictionary,包括 OrderedDictionary
当需要围绕 ISet 创建只读包装器时,新增 ReadOnlySet
在库的很多地方使用 allows ref struct
使用 span 进行集合查找
更多基于 span 的 API,包括 StartsWith 和 EndsWith 扩展方法
优化编码和解码的 Base64Url
在HttpClientFactory 中默认使用 SocketsHttpHandler
在 Linux 上使用客户端证书恢复 TLS
新的 System.Net.ServerSentEvents 库,提供了一个用于轻松解析服务器发送事件的解析器。
在 System.Diagnostics.Metrics 中引入 Metrics Gauge Instrument,用于在发生变化时记录非附加值
发行说明
ARM64 代码生成现在添加了存储操作的功能
代码布局 – RyuJIT 的块重新排序算法采用更简单、更全局的方法
用于减少代码大小和提高性能的循环优化
通过 RyuJIT 改进减少地址暴露,以更好地跟踪局部变量地址的使用情况
AVX10v1 支持,这是 Intel 推出的全新 SIMD 指令集
硬件内部代码生成
用于浮点和 SIMD 操作的常量折叠
发行说明
NuGetAudit 现在针对传递依赖项中的漏洞发出警告
添加 dotnet nuget why 以查明项目中使用可传递包的原因
MSBuild BuildChecks 可帮助用户在构建过程中强制执行规则和不变量
发行说明
您可以在下面找到有关 .NET 9 Preview 6 中附加功能的详细发行说明:
部分属性
发行说明
对静态 Web 资源进行指纹识别,确保不使用过时的资源,并改进缓存行为以缩短加载时间
使用新的 ActivitySource 改进了 SignalR 的分布式跟踪
对 Microsoft.AspNetCore.OpenAPI 的增强,包括完成度增强、对 [Required] 和 [DefaultValue] 属性的支持、OpenAPI 文档上的架构转换
分析器在 [Authorize] 被 [AllowAnonymous] 覆盖时发出警告,以及新的分析器
ComponentPlatform 重命名为 RendererInfo
将大的 HTTP/2 头拆分到多个帧中
发行说明
若要开始使用 .NET 9,请安装 .NET 9 SDK。
如果您在 Windows 上使用 Visual Studio,我们建议您安装最新的 Visual Studio 2022 预览版,或者开始使用 带有 C# Dev Kit 扩展的 Visual Studio Code。
团队每月都会在 dotnet/core GitHub 讨论区发布完整的发行说明和公告,社区的参与度和反馈都很高。我们将继续在 GitHub 上发布每个新版本,但随着我们即将于今年 11 月与 .NET Conf 2024 一起发布(今天就请记住这个日期!),我们希望在 .NET 博客上交叉发布我们的版本详细信息。
通过 GitHub 讨论公告与 GitHub 上的产品团队讨论此版本。
.NET 9 Preview 6 讨论
.NET Libraries & Runtime 讨论
.NET MAUI 讨论
ASP.NET Core 讨论
您可以通过以下方式了解 .NET 9 的所有新增功能:
.NET 9 中的新增功能
C# 13 中的新增功能
ASP.NET Core 中的新增功能
.NET MAUI 中的新增功能
EF Core 中的新增功能
.NET 9 中的重大更改
.NET 9 版本
此外,请务必订阅 GitHub Discussions RSS 新闻源以获取所有发布公告。
我们希望得到您的反馈,因此请前往 .NET 9 Preview 6 GitHub Discussion 讨论此版本的功能并提供反馈。