微軟宣布發布 您平台的新版本 “.NET 7” 其中包括帶有 RyuJIT JIT 編譯器的運行時、API 規範、WPF 庫和其他工具。
此外,ASP.NET Core 7.0 Web 應用程序、Entity Framework Core 7.0 ORM 層、WPF 7(Windows Presentation Foundation)庫、用於 GUI 開發的 Windows Forms 7 框架、Orleans 平台。
.NET 7 中的新功能
在這個新版本中,基類庫(BCL,Base Class Library) 已統一用於各類應用, 包括桌面系統、Web 應用程序、雲平台、移動應用程序、遊戲、嵌入式程序和機器學習系統的程序。 您可以使用通用 SDK、運行時和一組庫來開發不同類型的應用程序。
除此之外,還要強調的是 提供將應用程序綁定到 .NET 7 版本兼容 API 的能力 通過“net7.0”目標框架定義,例如“ net7.0 »。 要綁定到特定於平台的 API,您可以在指定目標時指定平台類型,例如通過指定“net7.0-android”。
坦比恩 突出顯示對 ARM64 架構的改進支持 並繼續努力在 x86 和 ARM64 架構上運行時實現 .NET 應用程序的同等性能。 提高了 ARM3 系統運行時的 L64 緩存效率。 LSE 指令用於隔離並行線程內存訪問,從而減少 45% 的延遲。
該庫添加了使用 Vector64、Vector128 和 Vector256 矢量類型的驅動程序,並且基於向量指令重寫了EncodeToUtf8和DecodeFromUtf8函數,性能提升高達60%(對於NarrowUtf16ToAscii和GetIndexOfFirstNonAsciiChar函數,性能提升達到35%). 總體而言,ARM64 平台上的測試通過速度提高了 10-60%。
另一方面,也 突出顯示 Linux 支持增強功能,包括使用 .NET 6 添加軟件包 到 Ubuntu 22.04 庫存存儲庫,並提供優化、緊湊、開箱即用的 docker 映像,用於快速部署具有基於 .NET 的應用程序的容器。
引入 .NET 升級助手,以便更輕鬆地將舊應用程序遷移到分支 .NET 6 或 .NET 7。新版本擴展了對將 ASP.NET 應用程序移植到 ASP.NET Core 的支持,為 WinForms、WPF 和類庫添加了代碼解析器和檢查器,實現了對文件解析可執行文件的支持,增加了對 UWP 的支持(通用 Windows 平台)。
提出了數學函數的通用接口 並且提供了在虛擬接口中定義靜態元素的可能性,這允許應用通用編程方法來執行數學運算,而無需有關值類型的確切信息。
JIT 編譯器的性能也得到了改進, 除了被添加 支持 OSR 機制 (On Stack Replacement) 更改已經執行的方法的代碼,允許您對需要很長時間才能完成的方法進行優化,而無需等待當前調用完成(在 TechEmpower 測試中,有 10-30處理第一個請求的性能提高 10-30%)。
, 其他變化 脫穎而出:
- 添加了對編譯為自包含可執行文件(本機 AOT)的支持,其中整個項目最初編譯為本機目標平台代碼,而不使用中間代碼和 JIT。
- .NET SDK 實現了限制使用提供的項目模板的能力; 例如,您可以確定模板在哪些操作系統上有效。
- NuGet 添加了一個集中的包管理模式,允許您一次管理多個項目的依賴項。
終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。
對於那些感興趣的人,您應該知道 .NET SDK 7、.NET Runtime 7 和 ASP.NET Core Runtime 7 的構建是為 Linux、macOS 和 Windows 構建的。 .NET Desktop Runtime 6 僅適用於 Windows。