.NET 6 Preview 6 正式發佈: 關注網絡開發

微軟.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預覽 6DbContext提供了一種新方法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 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配置值可用於配置響應線程注入的速度異步同步。」