微軟.NET 團隊的專案經理在部落格上釋出了.NET 6 Preview 6, 在候選釋出階段之前的倒數第二個預覽版,也就是8月份還會釋出一個Preview 7,9月份開始進入RC,兩個候選版本將專注於質量修復,直到 11 月的最終版本。 Preview 6 版本本身相對較小,而 Preview 7 功能方面會更多,Preview 6主要集中在網路開發方面,同時Visual Studio 2022 為WPF 應用程式的開發提供了實時預覽。
ASP.NET Core updates in .NET 6 Preview 6 改進的特性列表中包括 WebSocket 壓縮、 預覽 4 中引入的Mini HTTP API 的OpenAPI 支援以及 Blazor 的可訪問性改進,以及 Blazor 和 JavaScript 之間的互操作的高效位元組陣列傳輸。此外,Blazor 元件現在可以宣告強制性引數,而 ASP.NET Core MVC 和Razor頁面中檢視元件的taghelper 現在可以具有以前不允許的可選引數。同時已將ASP.NET Core 客戶端專案模板更新為 到Angular 12 。
EnityFramework Core預覽 6 的DbContext
提供了一種新方法ConfigureConventions()
,稱之為"約定前模型配置"。 開發人員可以重寫覆蓋這個方法為型別設定全域性設定。
.NET 6 Preview 6釋出的同時,Visual Studio 2022 也釋出了的新預覽版。亮點是 WPF 應用程式的新實時預覽。熱重新載入功能現在在偵錯程式之外(從 CTRL+F5 開始)以及C++應用程式。
上篇文章 .NET 6 亮點之工作負載,它是統一 .NET 的基礎,我們介紹了工作負載,在 Preview 6 進一步完善了工作負載命令,旨在幫助開發人員更輕鬆地發現和管理可選工作負載。
在Preview 5,Microsoft 提供了這些用於處理工作負載的命令:
dotnet workload install
-- 安裝工作負載。dotnet workload list
-- 列出已安裝的工作負載。dotnet workload update
-- 更新已安裝的工作負載。
在預覽版 6 中,新增了三個命令:
dotnet workload search
-- 列出可安裝的工作負載。dotnet workload uninstall
-- 如果不再需要,則刪除指定的工作負載,這也是節省空間的好選擇。dotnet workload repair
-- 重新安裝所有以前安裝的工作負載。
除了上述與工作負載相關的專案外,Preview 6 中的其他新特性和功能包括:
- x64 模擬器更新:已經新增了對 macOS 的 Apple Silicon 和 Windows 的 Arm64 的支援,為此需要做兩件事:
- 並排安裝程式
- 以 .NET CLI為目標的一流架構(主要)支援在所有場景中使用本機架構 SDK。
“在並排安裝程式可用之前(稍後在 .NET 6 中),您需要安裝所有 x64 版本或所有 Arm64 版本,如果你想切換,你需要解除安裝/刪除你的 機器上的所有 .NET Arm64版本。”
- TLS 支援
System.DirectoryServices.Protocols
: 在已為 Windows 啟用後,System.DirectoryServices.Protocols
也為 Linux 和 macOS啟用 TLS 支援。.NET 使用者現在可以享受與 LDAP 伺服器的安全通訊。 - Crossgen2 替換 crossgen: Crossgen2 已為所有現有的 crossgen 場景啟用,微軟也從 SDK 中刪除了(舊的)crossgen,使其不再可訪問且無法使用。“Crossgen(1 和 2)支援將 IL 預編譯為本機程式碼作為釋出步驟。預編譯主要有利於改進啟動。Crossgen2 是一種從頭開始的實現,已被證明是程式碼生成創新的卓越平臺. 例如,crossgen2 可以為比 crossgen1 更廣泛的 IL 模式集生成程式碼。”
- 改進的同步非同步效能: 同步非同步是一種常見的阻塞工作型別,當它發生線上程池工作執行緒上時會導致飢餓。此外,緩慢的執行緒注入會延遲其他排隊的工作,並可能延遲解決飢餓問題。“當非同步同步是執行緒池工作執行緒上發生的唯一阻塞工作型別時,此更改提高了執行緒注入的速度。有一些新的
AppContext
配置值可用於配置響應執行緒注入的速度非同步同步。”