.NET 8 RC 2 发布,将在11月14日发布正式版
微軟2023-10-10 發布了 .NET 8 RC 2,下一站是.NET 8正式發布,就在下個月Net Conf 2023[1](11月14日)期間正式發布,我們也開始籌備第四屆中國.NET開發者峰會了。 經過長達一年時間的開發,.NET 8 規劃的所有主要的新功能都已推出,.NET 8 及其所有組件現在距離正式發布還有一個月的時間,接下來一個月,開發團隊主要專注于通過改進功能和修復錯誤而不是引入主要的新功能來使 .NET 8 進入GA 的最終形態。
.NET 8 已準備好投入生產,但 Microsoft 建議通過 Visual Studio 17.8 預覽版 3(也是今天剛剛發布的發行)對其進行測試,并建議開發人員轉向預覽頻道內部版本[2],以試用 Visual Studio/Visual Studio Code 的 .NET 8。2023年10月,Tiobe編程語言排行榜.顯示Java跌落比較明顯,C#上升趨勢比較明顯. Tiobe官方表示,目前,差異僅為1.2%,如果趨勢保持這種狀態,C#將在大約2個月內超過Java。
.NET 團隊今天在官方博客上發布了一系列文章來介紹.NET 8框架以及相關聯的 ASP.NET Core、MAUI、EF Core 、Visual Studio 2022 17.8 的功能特性:
- ASP.NET Core Updates in .NET 8 RC2[3]
- .NET MAUI Updates in .NET 8 RC2[4]
- Visual Studio 2022 17.8 Preview 3[5]
- Entity Framework Updates in .NET 8 RC2[6]
- What’s New in .NET 8[7] 中的所有新功能. 關于.NET 平臺的廣泛視圖, 請閱讀 為什么要選擇-net[8].
我們通過上面這些文章來看一下 .NET 團隊 如何描述其開發人員工具產品的 RC2。
.NET 8
.NET 團隊在今天早晨通過文章 宣布推出 .NET 8 RC2[9] :“這是我們最后一個發布RC 版本。此版本包括適用于 .NET 包的新 NuGet 包自述文件、適用于 MSBuild 的基于 CLI 的簡單項目評估、將容器發布到 tar.gz 存檔以及適用于 .NET 的張量基元。”
文章提到的的亮點如下:
- 引入了 .NET 包的 NuGet 包自述文件,以便為用戶提供重要信息,并幫助他們快速了解庫是什么及其用途。這是開發團隊努力提高 NuGet 包自述文件的采用率和質量的一部分。
- MSBuild 具有一個新的、簡單的基于 CLI 的項目評估功能:
--getProperty--getItem--getTargetResult,該功能可以更輕松地使用 、 和標志將 MSBuild 中的數據合并到腳本或工具中,以便于項目分析。 - SDK 容器發布工具具有一項新功能,可以直接將容器創建為 tar.gz 存檔,這對于需要在推送映像之前掃描或移動Image的工作流非常有用,從而擴展了可用的部署選項。
- 引入 .NET 張量原語,增強對機器學習和數據科學操作的支持。張量原語是一組新的 API,它們引入了對張量操作的支持,這對于 AI 和機器學習工作負載至關重要。它為余弦相似性、點積、矩陣乘法等操作提供了矢量化實現。這是破例的特性發布,以前在 RC階段是不加新特性的 。這個特性對于當前的人工智能的應用開發尤為重要,特別是開源項目Semantic kernel 也發布了1.0 beta 1[10].
此外,有關值得注意的修補程序以及更多內容的信息,請參閱 .NET 8 RC2 發行說明[11]。
MAUI
.NET 團隊在文章 .NET MAUI Updates in .NET 8 RC2[4] 介紹到,今天,我們通過在.NET 8候選版本8(RC2)中發布.NET MAUI 向.NET 8正式發布(GA)更近了一步,與 RC1 一樣,此版本包含在上線許可證中,因此您可以在生產應用程序中使用它時獲得支持。在此版本中,我們重點關注了在整個預覽版中回歸的問題,并恢復了在改進熱重載、視覺狀態管理器、綁定和應用主題的可靠性時丟失的一些性能。
公告文章中的亮點包括:
- .NET MAUI 受上線許可證保護,并且沒有與 .NET 7 相關的重大 API 更改。
- 進行了一些優化以提高Android和“Setter Specificity”的性能。
ActivityExtensions.GetWindowFrame - 該團隊修復了與 UI 元素和控件相關的幾個問題,以提高跨平臺的一致性和視覺準確性。
- 針對拖放功能、選項卡欄外觀和某些平臺行為制定了特定于平臺的修復,以實現跨平臺的一致用戶體驗。
- Microsoft發布了適用于 .NET 7 的服務版本8 (版本 7.0.96),其中包含高優先級修補程序。
- Xamarin 開發人員可以將 Xcode 15 和 Android API 34 與 Visual Studio 17.8 Preview 3 或 Visual Studio for Mac 的最新穩定版本配合使用。
有關詳細信息,請參閱 .NET MAUI 發行說明[12]。
ASP.NET 核心
.NET團隊在 .NET 8 RC 2 中 ASP.NET Core 更新[3]的公告文章中介紹了,開發團隊在這個周期中的大部分工作都致力于 Blazor,主要使用 C# 而不是通常的主流 JavaScript 進行 Web 開發的Microsoft 的方案。該帖子特別列車了 Blazor 的 11 個項改進, 其他還包括一個組件項,兩個服務器和中間件項,換句話說ASP.NET Core的核心特性都是Blazor。
對于 .NET 8,Microsoft引入了 Blazor 的一個重要新概念,即提供全棧 Web UI 的能力。 .NET團隊表示,隨著.NET 8的發布,Blazor是一個全棧Web UI框架,用于開發在組件或頁面級別呈現內容的應用程序:
- 靜態服務器呈現以生成靜態 HTML。
- 使用 Blazor 服務器托管模型的交互式服務器呈現。
- 使用 Blazor WebAssembly 托管模型的交互式客戶端呈現。
- 首先使用 Blazor Server 自動呈現交互式客戶端,然后在下載 Blazor 捆綁包并激活 .NET WebAssembly 運行時后,在后續訪問時呈現 WebAssembly。自動呈現通常提供最快的應用啟動體驗。
公告文章的亮點包括:
- HTTP 日志記錄中間件具有持續時間日志記錄、組合日志和自定義攔截器等新功能。
- IdentityModel 庫已更新到版本 7x,這提高了性能、一致性和本機 AOT 兼容性。
- 最小 API 和 Blazor 的表單綁定現在支持具有屬性的類型。
IFormFile - SignalR TypeScript 客戶端現在支持有狀態重新連接,從而減少出現臨時網絡問題的客戶端的停機時間。
- Blazor Web 應用模板具有用于全局或按頁面啟用交互式呈現模式以及使用 Blazor 標識 UI 的新選項。
- Blazor WebAssembly 獨立應用模板已重命名和更新,以支持沒有 ASP.NET 核心服務器的靜態網站托管。
@rendermode現在可以在文件范圍內應用 Razor 指令,以在組件定義上指定呈現模式。- Blazor 的增強導航和表單處理已通過新的屬性和事件進行了改進,以控制和自定義行為。
- 已實現交互式服務器組件的電路關閉,以便在頁面上沒有剩余的交互式組件時釋放服務器資源。
- Blazor 中的表單模型綁定現在遵循數據協定屬性,用于自定義表單數據綁定到模型的方式。
HttpContext現在可以作為級聯參數從靜態服務器組件進行訪問。- 該服務現在可用于在 Blazor Web 應用中保留和讀取組件狀態。
PersistentComponentState - 該屬性現在支持使用該屬性注入密鑰服務。
[Inject]InjectAttribute.Key - 對話框元素現在支持 Blazor 中的取消和關閉事件。
更多信息可在新更新的“ASP.NET Core 8.0 新增功能[13]”文檔中找到。
EF Core 8
EF8 Core 的公告帖子 Entity Framework Updates in .NET 8 RC2[6] 重點介紹了對象關系映射器 (ORM) 產品/服務中的“包含的一些較小功能”,盡管它還包含指向68 項針對.NET 8的改進。
公告文章的亮點包括:
- EF Core 8 需要 .NET 8,此 RC 2 版本應與 .NET 8 RC 2 SDK 一起使用。
- EF Core 8 將與 .NET 8 作為長期支持 (LTS) 版本保持一致。
- EF Core 8 引入了以下新功能:
- 更改具有數據庫默認值的屬性的哨兵值(sentinel)
- 支持訪問多個實體類型的更新
- 使用 SQL 而不是 SQL 改進查詢 替換
INEXISTS - 將列映射到 或 屬性
rowversionlongulong - 消除生成的 SQL 中不必要的括號
有關詳細信息,請參閱“EF Core 8 中的新增功能[14]”文檔和 EF Core 路線圖[15]。
總結
在 .NET 8 發布的過程中,我們衷心感謝世界各地所有充滿激情的 .NET 開發人員,他們挺身而出探索和測試預覽版和候選版本。您對 .NET 生態系統的奉獻非常寶貴,您的反饋在確保此最新版本的可靠性和健壯性方面發揮了關鍵作用。感謝您成為這一激動人心的旅程的重要組成部分,我們迫不及待地想看看你將通過 .NET 8 帶來什么。.NET團隊特別列出了以下特性來自于社區的反饋和貢獻:
- ASP.NET Core. 重新考慮在 .NET 8 中默認啟用 HTTP/3[16]
- Blazor. 圍繞 Blazor WebAssembly 的項目結構和 TFM 更改了整個計劃[17]
- Runtime. 點亮更新的 ARM64 硬件功能[18] 和 更新 Marshal.QueryInterface[19].
- 軟件開發工具包 改進了簡化的輸出路徑[20]并完善了終端記錄器
相關鏈接:
- [1]Net Conf 2023:https://dotnetconf.net/
- [2]預覽頻道內部版本:https://visualstudio.com/preview
- [3]ASP.NET Core Updates in .NET 8 RC2:https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-rc-2
- [4]NET
MAUI Updates in .NET 8 RC2: https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-rc-2 - [5] Visual Studio 2022 17.8 Preview 3:https://aka.ms/vs/v178P3
- [6]Entity Framework Updates in .NET 8 RC2 https://devblogs.microsoft.com/dotnet/announcing-ef8-rc2
- [7]What’s New in .NET https://learn.microsoft.com/dotnet/core/whats-new/dotnet-8
- [8]為什么要選擇-net https://devblogs.microsoft.com/dotnet-ch/%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e9%80%89%e6%8b%a9-net/
- [9]宣布推出 .NET 8 RC2: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-rc2/
- [10]開源項目Semantic kernel 也發布了1.0 beta 1: https://devblogs.microsoft.com/semantic-kernel/introducing-the-v1-0-0-beta1-for-the-net-semantic-kernel-sdk/
- [11].NET 8 RC2 發行說明 https://github.com/dotnet/core/blob/main/release-notes/8.0/preview/8.0.0-rc.2.md
- [12].NET MAUI 發行說明 https://github.com/dotnet/maui/releases/tag/8.0.0-rc.2.9373
- [13]ASP.NET Core 8.0 新增功能: https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-8.0?view=aspnetcore-8.0
- [14]EF Core 8 中的新增功能: https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew
- [15]EF Core 路線圖: https://learn.microsoft.com/en-us/ef/core/what-is-new/
- [16]重新考慮在 .NET 8 中默認啟用 HTTP/3: https://github.com/dotnet/aspnetcore/issues/50131
- [17]圍繞 Blazor WebAssembly 的項目結構和 TFM 更改了整個計劃: https://github.com/dotnet/aspnetcore/issues/49079
- [18]點亮更新的 ARM64 硬件功能:https://github.com/dotnet/runtime/issues/89937
- [19]更新 Marshal.QueryInterface: https://github.com/dotnet/runtime/issues/91981
- [20]改進了簡化的輸出路徑: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-4/
總結
以上是生活随笔為你收集整理的.NET 8 RC 2 发布,将在11月14日发布正式版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符 kotlin(3)
- 下一篇: MapGuide应用程序演示样例——你好