微軟在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 等多個方面。這些更新包括:
庫(Libraries):
- 完成了 BinaryFormatter 的移除。
- 對 ReadOnlySpan.Split() 的改進。
- Debug.Assert 現在預設報告斷言條件。
- 壓縮 API 現在使用 zlib-ng。
- Guid.CreateVersion7 支援建立自然排序的 GUID。
- 對 Interlocked.CompareExchange 的改進。
- 新增對 AES-GCM 和 ChaChaPoly1305 演算法的支援。
- X.509 證書載入的更改。
- 對 XPS 文件的支援。
- Tensor 標記為實驗性。
執行時(Runtime):
- ARM64 SVE 支援。
- ARM64 後索引定址。
- 迴圈中的強度減少。
- 物件棧分配用於裝箱。
- GC 對應用程式大小的動態適應。
C#:
- 使用 OverloadResolutionPriority 屬性優先選擇更好的過載。
SDK:
- 容器釋出改進,支援不安全的登錄檔。
- 容器釋出中環境變數的更一致性。
- 引入工作負載集,以更精細地控制工作負載。
- 緩解分析器不匹配問題(即“撕裂的 SDK”)。
ASP.NET Core:
- SignalR 支援修剪和 Native AOT。
- Microsoft.AspNetCore.OpenApi 支援修剪和 Native AOT。
- OpenIdConnectHandler 支援推送授權請求(PAR)。
- 改進了 Kestrel 命名管道端點的自定義。
- 改進了 Kestrel 連線指標。
- 允許在特定端點和請求上禁用 HTTP 指標。
- 異常處理中介軟體選項,基於異常選擇狀態碼。
.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/