.NET 9正式發布

.NET 9正式發布

.NET 9正式發布了!這是.NET迄今生產力最高、最現代化、最安全、最智慧且效能最強的版本。

最後更新 2024/11/13 上午2:47
.NET Team
預計閱讀 26 分鐘
分類
.NET
標籤
.NET C# 安全 .NET 9 正式發布

本文由AI助力翻譯,站長校驗。

今日,我們滿懷激動地宣布,.NET 9 正式發佈了!這是 .NET 迄今為止生產力最高、最現代化、最安全、最智能且效能最強的版本。它凝聚著全球數千名開發者又一年的心血,此次新版本包含了數千項效能、安全以及功能方面的改進。你會發現,從程式語言、開發工具到工作負載,整個 .NET 技術棧都有了全方位的增強,讓你能夠基於統一平台進行開發,並輕鬆地為應用注入人工智慧元素。

點擊查看帶有工作負載、工具、生態系統和作業系統的 .NET 概覽

.NET 9 的下載資源,以及針對 Visual Studio 2022 和適用於 Visual Studio Code 的 C# 開發工具套件的更新版本,現在均已開放獲取。

🔽 下載 .NET 9

獲取 Visual Studio 2022 v17.12 版本

.NET 團隊、合作夥伴以及 .NET 社群將在 .NET Conf 2024(為期三天的免費線上開發者活動,舉辦時間為 11 月 12 日至 14 日)上展示 .NET 9 的新特性,並深入剖析各項功能。快來加入我們吧!

下面讓我們一同來看看 .NET 在開發語言、工作負載以及工具方面的亮點內容。

無與倫比的效能——應用執行更快,記憶體佔用更低

.NET 9 是 .NET 至今效能最強的版本,執行階段、工作負載以及語言層面共有超過 1000 項與效能相關的變更,其採用的更高效演算法能夠產生更優質的程式碼。斯蒂芬·圖布(Stephen Toub)對 .NET 9 效能改進內容 進行了深入剖析,那是一篇必讀文章,不過在此我們還是先來討論一下該版本中的部分亮點。

伺服器垃圾回收(Server GC)機制進行了重大調整,它將依據應用的記憶體需求進行自適應調節,而不再取決於環境(機器、虛擬機或容器)中可用的資源(記憶體和 CPU)。這種調整方式在多核環境下影響深遠,特別是在應用記憶體較小或者隨時間變化幅度較大的情況下。在此之前,工作站(Workstation)和伺服器垃圾回收機制的實現會產生截然不同的結果,使用者需要在二者之間權衡抉擇。對於那些使用工作站垃圾回收機制來控制雲應用記憶體使用的使用者來說,此次調整應該頗具吸引力。記憶體方面的最佳化可能會帶來一定的吞吐量成本,但這一成本或許並不明顯。伺服器垃圾回收機制可配置為使用舊版實現,這在測試時可能會派上用場。

TechEmpower 基準測試在 .NET 9 面前也相形見絀,.NET 9 實現了更高的吞吐量,同時記憶體使用量大幅下降。記憶體使用量下降得益於伺服器垃圾回收機制的變更。

圖表展示每秒請求數(RPS)提高 15%,記憶體使用量降低 93%

執行階段 重新引入了向量化,增加了對新晶片架構的支援,涵蓋了 Arm64 可伸縮向量擴展(SVE)、英特爾高級矢量擴展 10(AVX10),並對執行階段進行了硬體加速。RyuJIT 提升了 Arm64循環基於設定檔引導的最佳化(PGO) 以及邊界檢查 等方面的效能。得益於採用了原生提前編譯(Native AOT)所使用的例外模型,例外處理速度提升了 50%。

動態的基於設定檔引導的最佳化(PGO)已更新,能夠對更多程式碼模式進行最佳化。現在,即時編譯器(JIT)會為應用中常見以及未曾出現過的型別轉換產生快速路徑程式碼。像 (IFoo)myFoomyFoo is IFoo 這類型別轉換在 C# 中極為常見。此外,對於所觀察到的常見緩衝區長度,它還能夠展開並向量化對緩衝區執行的部分操作。儘管這項變更需要停用「ReadyToRun」功能,但能使執行速度提高 70%。

LINQ 在多種常見場景下也進行了最佳化。當基礎陣列、集合或者可列舉物件為空時,諸如 TakeDefaultIfEmpty 這類方法的返回速度如今可提升多達 10 倍。Enumerable.SequenceEqual 方法已經針對陣列輸入進行了特殊處理,它會將操作委託給 MemoryExtensions.SequenceEquals 方法,透過將陣列作為 spans 傳遞,實現高效迭代和向量化操作。現在,List<T> 也具備了這一能力。

System.Text.Json 的底層細節得到了顯著最佳化,各項操作的效能提升幅度超過 50%。JsonProperty.WriteTo 方法現在能夠直接寫入 UTF8 位元組,從而避免了字串分配操作。新的 JsonMarshal.GetRawUtf8Value 應用程式設計介面(API)會返回 UTF8 位元組,作為 JsonElement.GetRawText(返回字串且需要編碼和分配記憶體)的替代方案。如果能從給定的可列舉物件中獲取元素數量,JsonObject 現在可以正確設定其底層支援儲存的大小,從而避免分配記憶體以及調整大小所產生的成本。

除了這些對 .NET 的基礎性改進之外,你會發現所有類型應用的效能均有所增強,不妨繼續閱讀以下了解更多詳情。

.NET Aspire——構建更優應用的基礎元件

.NET Aspire 是一組功能強大的工具、範本以及軟體套件,旨在助力無縫開發可觀測且可用於生產環境的應用程式。距離 .NET Aspire 首次發佈僅僅過去了六個月,我們已經對整個技術棧的各個部分進行了改進,從遙測和指標儀表板中的新特性,到雲應用更精簡的部署流程,都有涉及。看到各類應用紛紛採用 .NET Aspire,以及社群根據自身場景接納相關整合與工具,著實令人欣喜。此外,我們看到微軟內部也有大量應用採用了這一技術,例如 Xbox 團隊和 Copilot 團隊都已將 .NET Aspire 整合到現有服務中,藉助易於獲取的洞察資訊以及各種相容的 Azure 整合,進一步最佳化了內部開發流程。

.NET Aspire 概覽

此次發佈的 .NET Aspire 9 帶來了一些大家呼聲很高的功能,可助力簡化應用開發流程。現在,你能夠透過儀表板啟動和停止資源,在偵錯會話之間保持容器處於執行狀態,還可以訪問包括 WaitFor 在內的新 API,以便更好地管理資源啟動過程。我們與社群緊密合作,為 OpenAI、Ollama、Milvus 等眾多平台推出了全新的無縫整合功能。我們簡化了獲取 .NET Aspire 的流程,使其更易於融入應用當中,同時改進了與 Azure 容器應用相關的部署場景,並且很高興地宣布,現已為 Azure 函數提供 .NET Aspire 預覽版支援。

.NET Aspire 9 新特性概覽

.NET Aspire 還有諸多內容等待你去探索,涵蓋了從工具到更廣泛的生態系統,比如全新的 .NET Aspire 社群工具套件。如果你打算開始使用 .NET Aspire,不妨看看我們在微軟學習平台(Microsoft Learn)上提供的免費課程以及新的 .NET Aspire 認證,它們將助力你開啟 .NET Aspire 之旅。當然,也請讓我們知曉你對 .NET Aspire 的看法,你可以透過 GitHub.NET Discord 或者我們的直播流回饋給我們。

人工智慧——蓬勃發展的人工智慧生態系統

我們持續拓展 .NET 在構建以及為應用注入人工智慧方面的能力。現在有了新的學習資料和範例,與生態系統的整合也更加簡化,透過與合作夥伴協作打造出了充滿活力的人工智慧社群,而且將人工智慧解決方案部署到雲端也變得前所未有的順暢。各行各業的眾多公司都已採用 .NET 來為客戶打造一流的人工智慧體驗,其中包括 H&R Block、Blip 以及畢馬威(KPMG)等。你所喜愛的編碼助手 GitHub Copilot 就是由 .NET 驅動的,而全新的微軟 Copilot 體驗也是基於 .NET 全新構建的。

在開發人工智慧服務和應用時,開發者能夠獲取最新進展至關重要。正因如此,我們與 Azure、OpenAI、LlamaIndex、Qdrant、Pinecone、Milvus、AutoGen、OllamaSharp、ONNX Runtime 等眾多人工智慧生態系統中的合作夥伴攜手合作,為 .NET 開發者提供了一系列強大的功能選項。

展示 .NET 人工智慧生態系統中各類函式庫和元件的概覽圖

我們還透過與社群以及控制項供應商合作夥伴共同構建智能元件生態系統,讓將融入人工智慧的控制項整合到 .NET 應用中變得更加容易。

.NET 的人工智慧構建模組

一個強大的生態系統意味著開發者在選擇最適合自身場景的方案時,擁有了比以往更多的選擇。我們思考了如何簡化這些整合流程,並消除因生態系統中應用程式設計介面(API)和功能數量不斷增長所帶來的准入障礙。為此,我們與語義核心(Semantic Kernel)展開合作,在 Microsoft.Extensions.AIMicrosoft.Extensions.VectorData 項目下,為 .NET 生態系統引入了一組抽象概念,它們為與人工智慧服務(例如小型和大型語言模型、嵌入向量、向量儲存以及中介軟體)進行互動提供了統一的 C# 抽象層。這種簡化後的新方法已經在早期採用者(如 PiecesOllamaSharp)那裡取得了良好的成效。

解釋人工智慧擴展工作原理的示意圖

Tensors 和 Tokenizers

Microsoft.Extensions.AI 和 VectorData 只是我們在 .NET 9 中所提供構建模組的一部分,我們還對相關函式庫和基礎資料型別進行了重大改進,以推動人工智慧開發。Microsoft.ML.Tokenizers 針對包括 GPT(4、o1 等)、Llama、Phi 以及 Bert 在內的熱門模型系列,在分詞器方面進行了改進,此外還新增了對位元組級位元組對編碼(Byte-Level BPE)、SentencePiece 以及 WordPiece 等分詞演算法的支援。

隨著語言模型即服務的出現,開發者使用人工智慧的門檻大幅降低。Tensor<T> 也為人工智慧開發帶來了助力,它作為一種新的資料型別,可用於表示多維資料,從而簡化了函式庫之間的互動操作以及相關運算的應用。

我們迫不及待地想看看你利用這些新的構建模組整合功能能夠創造出什麼樣的成果。若想快速上手,可以瀏覽我們為 .NET 提供的人工智慧文件以及範例程式碼。

面向 .NET 開發者的 GitHub Copilot 增強功能

GitHub Copilot 透過在編輯器體驗方面提供更優質的結果,並在 .NET 開發者的常規工作流程中提供人工智慧輔助,從而提升了開發效率。隨著 Visual Studio 和 Visual Studio Code 的最新版本發佈以及 GitHub Copilot 的更新,這一體驗變得更加出色。開啟 Copilot 後,整合開發環境(IDE)中處處融入了人工智慧,可在開發者生命週期的各個環節(從編寫程式碼、編寫測試到偵錯應用)為你提供幫助。以下是在最新版本中你可以期待的部分功能:

  • 人工智慧智能變數檢查:透過整合人工智慧變數檢查功能,最佳化偵錯工作流程。
  • 人工智慧驅動的可列舉物件視覺化工具:在可列舉物件視覺化工具中提供人工智慧驅動的可編輯語言整合查詢(LINQ)運算式。
  • 藉助 GitHub Copilot 修復程式碼:GitHub Copilot 能夠協助你解決程式碼問題。
  • 針對 C# 的更優人工智慧補全功能:GitHub Copilot 會從相關原始檔中引入更多上下文資訊,以改進 C# 程式碼的補全效果。
  • 藉助 GitHub Copilot 偵錯測試:透過使用「藉助 GitHub Copilot 偵錯測試」功能,獲取偵錯失敗測試的幫助。

使用 ASP.NET Core 和 Blazor 進行全棧式 Web 開發

ASP.NET Core 是我們用於 .NET 的全棧式 Web 框架,提供了構建現代化 Web 應用以及可擴展後端服務所需的一切功能。.NET 增添了眾多新特性,在效能、可訪問性以及安全性方面均有顯著改進。使用 .NET 9 構建的 ASP.NET Core 應用預設具備安全性,對提前編譯(AOT)的支援得到了擴展,監控和跟蹤功能也有所改善,再加上內建的效能提升,應用將實現更高的吞吐量、更快的啟動時間,並且記憶體使用量更低。

.NET 9 中的 ASP.NET Core——品質、開發體驗、雲原生特性

ASP.NET Core 中靜態檔案的最佳化處理

靜態 Web 資源(如 JavaScript 和 CSS 檔案)幾乎是每個 Web 應用的組成部分。.NET 9 中的 ASP.NET Core 現在會在構建和發佈過程中對這些檔案進行最佳化,以實現高效部署。在構建階段,ASP.NET Core 會識別所有靜態 Web 資源,並透過在檔名中添加基於內容的雜湊值來產生帶有指紋標識的檔案版本。這種指紋機制確保了檔名的唯一性,避免使用舊版本檔案,並能讓檔案得以積極快取。在應用發佈時,這些檔案還會使用 Brotli 演算法進行預壓縮,這極大地減小了檔案下載大小,同時減輕了伺服器的壓縮工作負擔。執行階段會透過端點路由來處理這些檔案,這意味著你現在可以針對靜態檔案使用其他具備端點感知能力的功能,例如按端點進行授權。

.NET 9 中 Blazor 的改進

在 .NET 9 中,Blazor 的功能比以往更強大,能夠助力你構建美觀的現代化 Web 及混合應用程式。此次發佈為 Blazor 的各個方面都帶來了效能提升,新增了 Blazor 混合應用和 Web 應用範本,還為開發者提供了新的應用程式設計介面(API),以便打造令人滿意的使用者體驗。

Blazor 現在能夠在執行階段透過新的 RendererInfo 應用程式設計介面(API)檢測元件的渲染模式,並相應地調整元件渲染方式。在預渲染期間,你可以停用或隱藏互動元素,待元件具備互動性後再啟用它們。

範例程式碼如下:

@if (RendererInfo.IsInteractive)
{
    <button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
}
else
{
    <p>One moment, please</p>
}

使用互動式伺服器端渲染(Blazor Server)的 Blazor 應用會受益於全新的重新連接體驗,其使用者介面更加友好,能夠更快地重新連接到伺服器,並且在使用者連接遺失時會自動處理頁面重新載入操作。

ASP.NET Core 中 OpenAPI 的增強功能

全球範圍內,眾多大規模服務都是基於使用 ASP.NET Core 構建的應用程式設計介面(API),並且我們在每一次發佈時都會持續改進構建這些 API 的體驗。對於 API 開發者來說,.NET 9 中的一大亮點是透過 Microsoft.AspNetCore.OpenAPI 軟體套件新增了對 OpenAPI 文件生成的內建支援。元資料會自動從應用程式碼、屬性以及擴展方法中提取出來。之後,還可以使用針對操作、模式或者整個文件進行操作的轉換器,對文件做進一步定製。在最小化 API 應用中,該功能對原生提前編譯(Native AOT)友好,使你能夠針對最佳效能對應用進行最佳化。除此之外,OpenAPI 文件可以在構建時生成,並整合到利用 OpenAPI 工具的在地開發工作流程以及構建管線當中。

展示新的 API、文件以及測試情況的示意圖

ASP.NET Core 中安全性的改進

安全性依舊是 ASP.NET Core 的核心關注點,你會發現多項改進措施,有助於確保應用預設具備安全性。現在,在 Linux 系統上設定受信任的開發證書變得更加容易,便於在開發過程中啟用超文字傳輸安全協定(HTTPS)。Blazor 現在內建了用於將認證狀態傳遞到用戶端的應用程式設計介面(API),還支援為 OAuth 和開放 ID 連接(OIDC)授權請求添加額外參數,並提供了對推送授權請求(PAR)的支援。最後,我們強化了 ASP.NET Core 的資料保護功能,並改進了 Kestrel 的連接指標,以便更輕鬆地檢測連接失敗的原因。

.NET 9 中 ASP.NET Core 新特性概覽

.NET MAUI——增強多平台應用開發

.NET MAUI 是使用 .NET 跨行動端和桌面端構建多平台應用的絕佳方式。它除了提供統一的抽象層,能透過單一應用程式設計介面(API)訪問原生功能,並基於單一程式碼庫建立出色的跨平台使用者介面外,還包含了基於 .NET 訪問原生 API 來構建適用於安卓(Android)、蘋果 iOS、蘋果 macOS 以及 Windows 系統應用的基礎功能。進入 .NET 9 階段,.NET MAUI 的首要目標就是提升品質和可靠性,以便你能更輕鬆地將應用投入生產環境。過去一年裡,我們看到在谷歌應用商店(Google Play Store)中,使用 .NET MAUI 構建的應用數量增加了一倍多,開發者的使用率增長超過 30%,達到歷史最高水平,而且社群的參與度和貢獻也十分驚人。

展示 .NET MAUI 使用量和拉取請求(PRs)成長情況的圖片

最近,我們歡迎 Syncfusion(.NET 生態系統中領先的元件供應商)為 .NET MAUI 做出貢獻。自今年 7 月至 9 月,Syncfusion 開始為 .NET MAUI 貢獻程式碼以來,其貢獻量佔社群總貢獻量的比例超過了 55%,與前三個月相比,增長了 557%,這得益於其原本就非常出色的貢獻成果。在 .NET 9 中,我們將社群放在核心位置,引入了一個全新的項目範本,其中包含 14 個免費且開源的 Syncfusion 控制項以及來自社群的其他熱門函式庫,展示了針對模型 - 檢視 - 檢視模型(MVVM)、資料庫存取、導航、檢視重新整理以及其他常見應用模式的建議實踐方法。你可以利用這個範本快速開啟應用開發之旅。

展示使用 .NET MAUI 開發的行動端和桌面端應用範例的圖片

我們一直傾聽開發者的心聲,.NET 9 為桌面端和行動端應用帶來了效能提升、可靠性增強以及更深入的整合功能。你會發現 .NET MAUI 在各方面都有顯著的效能改進,包括針對 iOS 和 Mac Catalyst 系統的 CollectionView(集合檢視)與 CarouselView(輪播檢視)的全新實現,對現有控制項和應用生命週期的更新,以及原生提前編譯(Native AOT)和剪裁功能的增強,這些都有助於你構建體積更小、執行速度更快的應用。除了支援最新的 iOS、macOS 和安卓作業系統外,我們在 .NET 9 中還新增了多項原生平台功能,例如安卓資源套件(Android Asset Packs)、與原生庫互動的改進,以及透過新的 Xcode Sync dotnet 工具 實現 Xcode 與 Visual Studio Code 之間更流暢的整合。

.NET 9 中 .NET MAUI 特性概覽

.NET 9 中的 .NET MAUI 有諸多值得喜愛和探索的內容。一定要仔細查看新特性文件,並嘗試使用新的項目範本哦。

使用 .NET 9 進行 Windows 開發

藉助 .NET 9,你的 Windows 應用將能夠使用最新的作業系統特性和功能,同時確保它們比以往任何時候都更具效能且更易於訪問。無論你是使用 WinUI 3Windows 應用軟體開發套件(Windows App SDK) 來開發新的現代化應用,還是對現有的 Windows Presentation Foundation(WPF) 以及 Windows Forms 應用進行現代化改造,你的 Windows 應用在 .NET 9 上都能實現最佳執行效果。我們一直與 Windows 開發者社群緊密合作,帶來了大家一直期待的功能。這其中包括為 WinUI 3 提供原生提前編譯(Native AOT)支援,以打造體積更小且效能更優的應用;為 WPF 引入流暢使用者介面(Fluent UI)相關的現代化主題增強功能;為 WinForms 增添了暗黑模式、現代化圖示應用程式設計介面(API),並透過 Control.InvokeAsync 改進了非同步 API 訪問功能。

.NET 9 中 Windows 開發者特性概覽

在 .NET 9 中針對 Windows 開發還有很多內容值得探索,所以一定要仔細閱讀 WinUI 3WPF 以及 WinForms 的新特性文件。

C# 和 F#——你喜愛的程式語言變得更加出色

C# 是全球最受歡迎的程式語言之一。在 C# 13 版本中,我們著重關注了一些特性,它們能讓你以熟悉且喜愛的程式設計風格更輕鬆、更安全、更快速地編寫程式碼。在方法簽名中使用 params 修飾符的功能在 C# 13 中透過新增的集合運算式得到了增強。這意味著你不再局限於將 params 與陣列型別搭配使用,而是可以使用任何受支援的集合型別了。

C# 13 透過引入使用 ref struct 值的新方式解鎖了更多高效能程式碼,並且藉助 System.Threading.Lock 讓處理多執行緒應用變得更加容易。

範例程式碼如下:

Lock myLock = new();

void Concat<T>(params List<T> items)
{
    lock (myLock)
        Console.WriteLine(string.Join("\e[1mItem: \e[0m", items));
}

F# 一如既往地為 .NET 開發者提供優質的函數式程式設計體驗。F# 9 帶來了各種語言、庫以及工具的增強功能,旨在讓你的程式更安全、更具彈性且效能更佳。可為 null 參考型別為與 C# 庫的互動帶來了型別安全性,最佳化後的整數範圍加速了循環和其他推導式的執行速度,最佳化後的相等性檢查避免了裝箱操作,並提升了許多常見操作的效能。區分聯集型別會自動產生 .Is* 屬性,便於快速進行情況測試。標準庫現在包含了針對集合的隨機函數,這在資料科學和遊戲開發中非常實用。開發者的工作效率也因診斷功能、解析器恢復以及各種工具改進而得到了提升。

範例程式碼如下:

// FS3261: 空值警告:型別 'string' 和 'string | null' 的可空性不一致。
let methodArgument (s: string | null) = File.Create s
let matchNullableString(s: string | null) =    
        match s with  // `s` 是 string | null 型別
        | null -> 0
        | notNull -> notNull.Length // `notNull` 是 string 型別

還有很多精彩特性等著你去發現,所以一定要瀏覽 C# 13 新特性文件 以及 F# 9 新特性文件 哦。如果你剛開始踏上 C# 開發之旅,不妨查看一下與 freeCodeCamp 合作推出的基礎 C# 認證

全球頂尖的開發者工具

伴隨 .NET 9 的發佈,我們的開發者工具也進行了更新,這將使你的開發效率達到前所未有的高度。首先,Visual Studio 2022 17.12 版本 的發佈為開發者工作流程的各個方面都帶來了一系列效率提升,包括顯著的效能增強、更出色的偵錯與診斷體驗、與 .NET Aspire 更緊密的整合、更深入的雲端整合、對 C# 13 的分析器支援、增強的 Git 支援等等!實際上,此次 Visual Studio 2022 版本所包含的使用者期待功能比以往任何時候都要多。這個版本中總有適合你的功能,相信你一定會喜歡它的。

適用於 Visual Studio Code 的 C# 開發工具套件也在持續演進,編輯可靠性得到了提高,NuGet 套件管理功能有所增強,測試配接器和程式碼覆蓋率結果更優,對 .NET MAUI 開發的支援也得到了改進,專案啟動/偵錯配置也進行了升級。立即下載最新版本的 Visual Studio 2022適用於 Visual Studio Code 的 C# 開發工具套件,讓你的開發工作流程從中受益並得到改進吧。

我們知道開發者喜愛命令列介面(CLI),因此我們一直在努力改善 .NET CLI 的使用體驗,並助力其成為安全開發方法的一部分。在 .NET 9 中,我們對終端日誌記錄器進行了全面改進,包括添加可點擊連結、時長計時器、顏色編碼等等。日誌記錄器的輸出更加簡潔,而且現在在構建結束時你會看到失敗和警告總數的彙總資訊,使其比以往更具實用性。dotnet restore 命令也已更新,能夠稽核頂層和傳遞相依性是否存在軟體套件漏洞。這一功能與集中式軟體套件管理搭配默契,使你能夠快速將軟體套件升級部署到程式碼倉庫內的所有專案中。dotnet restore 會在終端、Visual Studio 以及持續整合/持續交付(CI/CD)管線中基於 GitHub 安全公告資料庫中的軟體套件漏洞資訊向你發出提醒。

展示 .NET CLI 新特性亮點的圖片

.NET 軟體開發套件(SDK)中還有很多你會喜歡的內容,所以一定要仔細閱讀新特性文件哦。

蓬勃發展的創作者與貢獻者社群

我們熱愛出色的 .NET 社群,沒有你們的支援和貢獻,就不會有 .NET 9 的誕生。我們收到了來自 9000 多名社群成員的超過 26000 次貢獻!感謝你們提出的每一個問題、每一條評論、每一次程式碼審查以及每一個拉取請求,正是你們的付出,才讓這個版本成為 .NET 迄今為止最優秀的版本。我們也很欣慰看到大家對 .NET 的喜愛,在今年的 Stack Overflow 開發者調查中,.NET 與 ASP.NET Core 一同被評為最受推崇的框架,C# 也被列為頂尖的 Web 框架和程式語言之一。感謝你們助力構建了這個令人驚嘆的全球開發者社群。

帶有感謝字樣且背景有頭像的圖片

感謝所有幫助 .NET 生態系統蓬勃發展的函式庫建立者,是你們讓 NuGet 成為了每年增長速度最快的軟體套件生態系統。如今,.NET 開發者可以使用的軟體套件已超過 42 萬個,它們的下載次數總計超過 5700 億次,這一數字令人驚嘆。我們正在大力投入,不斷完善 NuGet,添加開發者喜愛的功能,並努力使其成為全球最安全的軟體套件生態系統。

NuGet 生態系統概覽

NuGet 為整個生態系統中的函式庫建立者和使用者都帶來了重大改進。NuGet.org 網站煥然一新,現在支援暗黑模式,還與 GitHub 合作,為 Dependabot 添加了原生 NuGet 支援,支援透過開源安全基金會(OpenSSF)實現開源計分卡和固定相依項功能,並增強了與 deps.dev 的整合,以便更深入地了解專案中的相依關係。

立即使用 .NET 9 開啟開發之旅

現在就加入我們在 .NET Conf 的線上直播活動吧,聆聽 .NET 團隊成員現場講解最新的增強功能。

.NET 9 的下載資源以及針對 Visual Studio 2022 和適用於 Visual Studio Code 的 C# 開發工具套件的更新版本現在均已開放獲取。

🔽 下載 .NET 9

獲取 Visual Studio 2022 v17.12 版本

想要深入了解本版本中各個部分的新特性,可以查看 .NET 9 各部分的最新文件:

此外,在接下來的幾個月裡,我們還會發佈關於 .NET 9 中涵蓋語言、工作負載以及工具等各方面新特性的深度剖析部落格文章,所以一定要訂閱 .NET 部落格,這樣當新文章發佈時你就能及時收到通知啦。

我們迫不及待地想看看你使用 .NET 9 開發出什麼樣的成果呢。

繼續探索

延伸閱讀

更多文章