微軟近日宣布推出 .NET 11 開源開發平台的第七個預覽版本,本次更新涵蓋異步方法的分層編譯
、CoreCLR
向 WebAssembly 的遷移進展等多項改進。
開發者現可從 dotnet.microsoft.com 下載 Preview 7,.NET 11 正式版預計於今年 11 月發布。
.NET 11 Preview 7 於 8 月 11 日正式發布,據微軟介紹,本次更新覆蓋類庫、.NET 運行時、SDK、C#、ASP.NET Core、.NET MAUI、Entity Framework Core、F# 以及 Windows Forms 等多個模組。
運行時異步方面的改進
在最新預覽版中,runtime-async(即運行時內置的 async/await 實現)與編譯器生成的狀態機模型之間的差距進一步縮小。異步方法現已接入分層編譯流水線。此前,異步方法會繞過分層機制,始終運行 tier0 代碼——該代碼優先追求編譯速度,而非穩態吞吐量。
CoreCLR 移植至 WebAssembly
在 WebAssembly 方向,.NET 11 正在推進將 CoreCLR 遷移至 WebAssembly 的工作,採用可移植的"解釋器 + R2R(ReadyToRun)"模型,並復用 RyuJIT 進行提前編譯(AOT)代碼生成。該配置在 Preview 6 中已可正常啟動,Preview 7 進一步實現了 CoreCLR 庫測試套件的端到端完整運行。
C# 語言與編譯器更新
Preview 7 還帶來了 C# 語言及編譯器層面的更新,其中包括標籤式 break 和 continue 語法。在 C# 15 中,break 和 continue 可以指定外層循環或 switch 的名稱,允許開發者在內層結構中直接退出或繼續外層構造,無需藉助標誌變量或 goto 語句傳遞狀態。此外,C# 15 引入的 union 類型採用"Try-Both"匹配方式:當某個模式應用於 union 值時,編譯器首先對 union 實例本身進行模式匹配,若匹配失敗,則進一步對 union 內部包含的 Value 執行匹配。
其他更新亮點
System.Net.Http 新增三個 HttpContent 包裝類,支持對請求體進行傳輸層壓縮,分別是 GZipCompressedContent、BrotliCompressedContent 和 ZstandardCompressedContent,均位於 System.Net.Http 命名空間下。
dotnet test 持續擴展設備導向能力,與 dotnet run 在 MAUI、Android 及 iOS 項目中已有的功能保持一致。
Preview 7 新增五個 Blazor 分析器,有助於提升代碼質量,所有分析器默認開啟,警告級別均為 Warning。
.NET 11 Preview 7 發布於 7 月 14 日 .NET 11 Preview 6 公告之後,延續了微軟對該平台的持續疊代節奏。
Q&A
Q1:.NET 11 Preview 7 什麼時候可以正式使用?
A:.NET 11 Preview 7 已於 2025 年 8 月 11 日發布,開發者現在就可以從 dotnet.microsoft.com 下載體驗。不過這仍是預覽版本,正式生產可用的 .NET 11 穩定版預計將於 2025 年 11 月正式發布。
Q2:.NET 11 Preview 7 中 C# 15 的標籤式 break 和 continue 有什麼用?
A:C# 15 引入的標籤式 break 和 continue 語法,允許開發者在嵌套循環或 switch 結構中,直接指定要退出或繼續的外層構造,不再需要通過設置標誌變量或使用 goto 語句來傳遞控制流狀態,代碼邏輯更加清晰簡潔,減少了嵌套結構中常見的繞行寫法。
Q3:.NET 11 Preview 7 對 WebAssembly 的支持有哪些新進展?
A:.NET 11 正在將 CoreCLR 遷移至 WebAssembly,採用"解釋器 + ReadyToRun"組合模型,並復用 RyuJIT 完成提前編譯。在 Preview 6 中該配置已可成功啟動,而 Preview 7 進一步實現了 CoreCLR 庫測試套件的端到端完整運行,標誌著這一遷移工作取得了重要里程碑進展。






