作者:.NET Team
排版:Alan Wang
现在是了解最新 .NET 9 预览版的好时机!我们刚刚发布了第六个预览版,在之前预览版的基础上添加了一些很棒的功能,并对 .NET Runtime、SDK、库、C# 和框架(包括 ASP.NET Core、Blazor 和 .NET MAUI)进行了重大改进。请查看下面链接的完整发行说明并立即开始使用。
此版本包含以下改进:
📚库
-
System.Text.Json 增强功能包括新的 JsonSchemaExporter、可为 null 的注释识别、需要非可选构造函数参数、对 JsonObject 属性进行排序以及新的契约元数据 API
-
Regex 的新 EnumerateSplits 方法可拆分更多集合类型
-
引入泛型 OrderedDictionary,包括 OrderedDictionary<TKey, TValue>
-
当需要围绕 ISet 创建只读包装器时,新增 ReadOnlySet
-
更多基于 span 的 API,包括 StartsWith 和 EndsWith 扩展方法
-
优化编码和解码的 Base64Url
-
新的 System.Net.ServerSentEvents 库,提供了一个用于轻松解析服务器发送事件的解析器。
-
在 System.Diagnostics.Metrics 中引入 Metrics Gauge Instrument,用于在发生变化时记录非附加值
⏱️Runtime
-
ARM64 代码生成现在添加了存储操作的功能
-
代码布局 -- RyuJIT 的块重新排序算法采用更简单、更全局的方法
-
用于减少代码大小和提高性能的循环优化
-
通过 RyuJIT 改进减少地址暴露,以更好地跟踪局部变量地址的使用情况
-
AVX10v1 支持,这是 Intel 推出的全新 SIMD 指令集
🛠️SDK
添加 dotnet nuget why 以查明项目中使用可传递包的原因
MSBuild BuildChecks 可帮助用户在构建过程中强制执行规则和不变量
您可以在下面找到有关 .NET 9 Preview 6 中附加功能的详细发行说明:
C#
🌐ASP.NET Core
-
对静态 Web 资源进行指纹识别,确保不使用过时的资源,并改进缓存行为以缩短加载时间
-
使用新的 ActivitySource 改进了 SignalR 的分布式跟踪
-
对 Microsoft.AspNetCore.OpenAPI 的增强,包括完成度增强、对 [Required] 和 [DefaultValue] 属性的支持、OpenAPI 文档上的架构转换
📱.NET MAUI
🚀开始使用
若要开始使用 .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 的最新动态
您可以通过以下方式了解 .NET 9 的所有新增功能:
此外,请务必订阅 GitHub Discussions RSS 新闻源以获取所有发布公告。
我们希望得到您的反馈,因此请前往 .NET 9 Preview 6 GitHub Discussion 讨论此版本的功能并提供反馈。