...

.NET 6 正式發(fā)布,迄今爲止最快的 .NET

2021-11-15

微軟宣布 .NET 6 已正式推出,并稱其爲迄今爲止最快的 .NET 版本。

發(fā)布公告提到,.NET 6 是首個原生支持 Apple Silicon (Arm64) 的版本,并且還(hái)針對(duì) Windows Arm64 進(jìn)行了改進(jìn)。.NET 團隊構建了一個新的動态配置文件引導優化 (PGO) 系統,該系統可提供僅在運行時(shí)才會(huì)進(jìn)行的深度優化。其他變化包括使用 dotnet monitor 和 OpenTelemetry 改進(jìn)雲診斷、提供更強大和更高效的 WebAssembly 支持,以及添加用于 HTTP/3、JSON 處理、數學(xué)和直接操作内存的新 API。

作爲 LTS 長(cháng)期支持版本,.NET 6 將(jiāng)會(huì)獲得 3 年的技術支持。

在 .NET 6 開(kāi)發(fā)周期内,總共包含大約一萬個 commit,下面(miàn)簡要介紹新版本的亮點變化。

.NET 6 亮點

  • 使用 Microsoft 服務、其他公司運行的雲應用程序和開(kāi)源項目進(jìn)行了生産壓力測試。

  • 作爲最新的長(cháng)期支持 (LTS) 版本提供三年的技術支持

  • 跨浏覽器、雲、桌面(miàn)、IoT 和移動應用程序的統一平台,全部使用相同的 .NET 庫,可便捷地共享代碼。

  • 性能(néng)全面(miàn)提升,尤其是文件 I/O 的性能(néng),減少了執行時(shí)間、等待時(shí)間和内存使用。

  • C# 10 帶來了語言改進(jìn),例如記錄結構 (record structs)、隐式使用和新的 lambda 功能(néng),同時(shí)編譯器添加了增量源代碼生成(chéng)器。 F# 6 新特性包括基于 task 的異步、管道(dào)調試和多項性能(néng)改進(jìn)。

  • Visual Basic 在 Visual Studio 體驗和 Windows Forms 項目打開(kāi)體驗方面(miàn)進(jìn)行了改進(jìn)。

  • 熱重載 (Hot Reload) 支持跳過(guò)重新構建和重新啓動以查看新更改(當應用程序正處于運行狀态),此特性支持在 Visual Studio 2022 中使用,并通過(guò) .NET CLI 爲 C# 和 Visual Basic 提供了支持。

  • 雲診斷已通過(guò) OpenTelemetry 和 dotnet monitor 進(jìn)行改進(jìn),現在在生産環境中得到支持,并且可用于 Azure 應用服務。

  • JSON API 更強大,并提供源代碼生成(chéng)器器用于串行更高的性能(néng)。

  • ASP.NET Core 引入了最少的 API,以簡化入門體驗并提升 HTTP 服務的性能(néng)。

  • Blazor 組件現在可以從 JavaScript 渲染并與現有的基于 JavaScript 的應用程序集成(chéng)。

  • 用于 Blazor WebAssembly (Wasm) 應用程序的 WebAssembly AOT 編譯,以及對(duì)運行時(shí)重新鏈接和本機依賴項的支持。

  • 使用 ASP.NET Core 構建的單頁應用程序現在使用了更靈活的模式,可以與 Angular、React 和其他流行的前端 JavaScript 框架一起(qǐ)使用。

  • 添加了 HTTP/3 以便 ASP.NET Core、HttpClient 和 gRPC 都(dōu)可以與 HTTP/3 客戶端和服務器交互。

  • 文件 IO 現在支持符号鏈接,并通過(guò)從頭開(kāi)始重新編寫FileStream大幅提升了性能(néng)。

  • 通過(guò)支持 OpenSSL 3、ChaCha20Poly1305 加密方案和運行時(shí)縱深防禦緩解措施(特别是W^X和CET),安全性得到了提升。

  • 支持爲 Linux、macOS 和 Windows(以前僅适用于 Linux)發(fā)布單文件應用程序。

  • IL 修剪現在更加強大和有效,提供了新的警告和分析器,可确保正确的最終結果。

  • 添加了源代碼生成(chéng)器和分析器,可幫助生成(chéng)更好(hǎo)、更安全和更高性能(néng)的代碼。

  • 源代碼構建使 Red Hat 等組織能(néng)夠從源代碼構建 .NET,并向(xiàng)其用戶提供自己的構建版本。

詳情查看發(fā)布公告。

下載 .NET 6.0

  • Installers and binaries

  • Container images

  • Linux packages

  • Release notes

  • API diff

  • Known issues

  • GitHub issue tracker


來源:oschina