
2026年11月,微軟在 .NET Conf 2026 期間正式發布 .NET 11。這是標準期限支援(STS)版本,提供兩年支援,而 .NET 10 仍然是受支援的長期支援(LTS)選項。新版本跨越 C# 15、ASP.NET Core、.NET MAUI 與 Windows 開發,並以數百項執行期優化減少日常工具的操作延遲。[1]
聯合型別與封閉繼承
C# 15 成為以 .NET 11 為目標的專屬預設語言版本。最受注目的新功能是聯合型別(union types):一個值可以是預先宣告的幾種具體類型別之一,支援由這些類型轉換,並在 switch 運算式中進行窮盡性檢查。[1]
對開發者而言,這代表回傳值可以明確表達「找到產品」或「找不到產品」等各種結果,不必再借用 object 或無關的底層類型。C# 15 亦加入封閉繼承(closed hierarchies),把直接繼承限制在宣告組件之內,令編譯器有足夠資訊檢查整個繼承關聯的模式配對。[1]
其他較小的語言功能包括集合運算式引數、反充索引器,以及帶標籤的 break 與 continue。記憶體安全工作仍在預覽階段,需要選擇性啟用。[1]
工具鏈與執行期
SDK 預設啟用 Native AOT 命令列主機,查詢說明與版本等指令毋須先啟動受管理的 CLI;MSBuild 伺服器亦預設在多次呼叫之間保持常駐,減少重複啟動的開銷。Linux 與 macOS 的 SDK 安裝程式透過套件去重而變得更小。[1]
核心式引用程式可以用 #:include 跨多個原始檔成長,dotnet watch 加入 Aspire 應用主機整合與當機復原。測試方面,dotnet test 在 Microsoft.Testing.Platform 下提供執行層級錯斜時、失敗上限與更清晰的進度報告。[1]
執行期方面,JIT 減少多餘的邊界檢查與分支、改善去虛擬化,並可在編譯期已知輸入時優化更多 SequenceEqual 呼叫。Native AOT 的介面溝通改用共用輔助函式,提升介面密集型工作品質的吞吐量。程式內的當機報告登錄由流動平台採展至 Linux 與 macOS,可在程式結束前撷取受管理壓力與執行期狀態。[1]
網絡、代理與跨平台
ASP.NET Core 加入非同步驗證與 OpenAPI 3.2 支援,Blazor 與 SignalR 亦有新能力;實驗性的 Blazor AI 組件可與 Agent User Interaction Protocol(AG-UI)整合。建構代理式應用可配合 Microsoft.Extensions.AI 存取模型、MCP 整合工具,以及 Microsoft Agent Framework 編排代理與工作流程。[1]
.NET MAUI 改用 CoreCLR 作為預設執行期,並改善 XAML 編譯與原生控制項。類別庫加入內建 Zstandard 壓縮、更簡潔的程式執行方式與更豐富的 JSON 支援。[1]
升級注意
Runtime Async 在 .NET 11 仍為預覽功能,專屬框架要以 runtime-async=on 選項啟用;官方建議先測試相依套件與診斷工具再全面採用。容器發佈方面,新版本以 SOURCE_DATE_EPOCH 產生可重現的映像 digest,目標 manifest 已存在時也會避免重複上傳圖層。[1]
NuGet 設定新增套件最短發表年齡,讓圖景延後採用勞發布的版本,但官方強調這只是額外政策控制,不能取代漏洞檢查。由於 .NET 11 屬 STS,只提供兩年支援,需要長期支援的生產系統宜留在 .NET 10 LTS。[2]