.NET 9发布的最后一个预览版Preview 7, 下个月发布RC

微软在2024年8月9日 发布了.NET 9 Preview 7[1],这是它在2024 年 11 月 12 日 RTM 之前进入发布候选阶段之前的最后预览版, 将在.NET Conf 2024 一起发布[3]。该预览版也于也与 Visual Studio 2022 17.12 预览版1一起发布,现在可以直接通过 Visual Studio 安装程序安装 .NET 9。还可以将 Visual Studio Code 和 C# Dev Kit[2] 扩展与 .NET 9 一起使用。

.NET 9 Preview 7 带来了多项重要更新,涵盖了.NET Runtime、SDK、库、C#、ASP.NET Core、Blazor 和 .NET MAUI 等多个方面。这些更新包括:

  1. 库(Libraries)

    • 完成了 BinaryFormatter 的移除。
    • 对 ReadOnlySpan.Split() 的改进。
    • Debug.Assert 现在默认报告断言条件。
    • 压缩 API 现在使用 zlib-ng。
    • Guid.CreateVersion7 支持创建自然排序的 GUID。
    • 对 Interlocked.CompareExchange 的改进。
    • 新增对 AES-GCM 和 ChaChaPoly1305 算法的支持。
    • X.509 证书加载的更改。
    • 对 XPS 文档的支持。
    • Tensor 标记为实验性。
  2. 运行时(Runtime)

    • ARM64 SVE 支持。
    • ARM64 后索引寻址。
    • 循环中的强度减少。
    • 对象栈分配用于装箱。
    • GC 对应用程序大小的动态适应。
  3. C#

    • 使用 OverloadResolutionPriority 属性优先选择更好的重载。
  4. SDK

    • 容器发布改进,支持不安全的注册表。
    • 容器发布中环境变量的更一致性。
    • 引入工作负载集,以更精细地控制工作负载。
    • 缓解分析器不匹配问题(即"撕裂的 SDK")。
  5. ASP.NET Core

    • SignalR 支持修剪和 Native AOT。
    • Microsoft.AspNetCore.OpenApi 支持修剪和 Native AOT。
    • OpenIdConnectHandler 支持推送授权请求(PAR)。
    • 改进了 Kestrel 命名管道端点的自定义。
    • 改进了 Kestrel 连接指标。
    • 允许在特定端点和请求上禁用 HTTP 指标。
    • 异常处理中间件选项,基于异常选择状态码。
  6. .NET MAUI

    • 引入了混合 Webview。
    • 新的标题栏控件和 Window.TitleBar for Windows。
    • CollectionView 和 CarouselView 在 iOS 和 Mac Catalyst 上的改进。
    • 使用 ActivateWindow 将窗口置于前台的能力。
    • BackButtonBehavior 的单向绑定模式。
    • BlazorWebView 的向后兼容性主机地址。
    • 本地嵌入的改进。
    • MainPage 已弃用。
    • 新的处理程序断开策略。
    • WebView 控件上的新 ProcessTerminated 事件。
    • iOS 和 Mac Catalyst 上远程通知的新生命周期方法。
    • Xcode 同步改进。

这些更新展示了 .NET 9 Preview 7 在性能、安全性和开发效率方面的显著进步,为开发者提供了更加强大和灵活的开发工具。

相关链接:

[1] 发布了.NET 9 Preview 7:https://devblogs.microsoft.com/dotnet/dotnet-9-preview-7/

[2] C# Dev Kit: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit

[3] .NET Conf 2024 :https://www.dotnetconf.net/