.NET 9 第 6 个预览版发布
微软发布了 .NET 9 的第 6 个预览版,此版本包括对运行时、SDK、.NET MAUI、ASP.NET Core 和 C# 的更新。
运行时更新
ARM64 代码生成:改进了加载和存储数据的指令,增强了执行时间和性能。
代码布局:增强基本块排序,以最大化 fallthrough 行为和热代码密度,减少分支指令的数量。
循环优化:识别翻转循环计数器变量的时机以提高性能。
减少地址暴露:更好地跟踪局部变量地址以释放更多的优化机会。
AVX10v1 支持:新的 SIMD 指令集支持,允许在支持 AVX10 的硬件上进行矢量化操作。
硬件内部代码生成:改进硬件内部函数中常量的处理,以生成加速代码。
常量折叠:增强浮点和 SIMD 运算的常量折叠功能。
SDK 更新
NuGetAudit:现在会对传递依赖项中的漏洞发出警告,有助于维护项目安全。
dotnet nuget why:一个新命令,用于查明你的项目为什么使用传递包。
MSBuild BuildChecks:引入它来在构建期间强制执行规则和不变量,类似于 Roslyn Analyzers,并针对共享输出路径和双写检测制定了新规则。
.NET MAUI 更新
质量改进:扩大测试覆盖范围、端到端场景测试和大量错误修复。
适用于 Android 和 iOS 的 .NET:注重质量的更新,确保两个平台的应用程序开发稳健可靠。
ASP.NET Core 更新
静态 Web 资产的指纹识别:自动生成静态资产的指纹版本,以改善缓存并加快加载时间。
改进了 SignalR 的分布式跟踪:增强了 SignalR 集线器方法调用的跟踪功能。
Microsoft.AspNetCore.OpenAPI 的增强:改进了完成提供程序并支持 [Required] 和 [DefaultValue] 属性以及模式转换器。
[Authorize] 和 [AllowAnonymous] 分析器:当 [Authorize] 被 [AllowAnonymous] 覆盖时,新的分析器会发出警告。
ComponentPlatform 重命名为 RendererInfo:匹配新的命名约定。
跨帧拆分大型 HTTP/2 标头:确保更好地处理大型标头。
C# 更新
C# 13 是 .NET 9 Preview 6 的一部分,它引入了局部属性(partial properties),扩展了局部方法的功能:
局部属性:旨在支持源生成器,使 API 更加直观、自然。使用示例:
[GeneratedRegex("abc|def")]
private static partial Regex AbcOrDefProperty { get; };
if (AbcOrDefProperty.IsMatch(text))
{
// Take action with matching text
}
下载:https://dotnet.microsoft.com/en-us/download/dotnet/9.0
.NET 9 首个预览版发布 —— 打造面向云原生 & AI 的开发平台
.NET9 PreView2+.AOT ILC 的重大变化