今天,釋出了.NET 5.0 Preview5。主要對它進行了一小部分新功能和效能的改進。.NET 5.0 Preview 4包含了一些計劃和.NET 5.0要交付的內容。
現在,大多數的功能都已經包含在裡面,但是有許多功能還未到最終狀態。預計這個版本在Preview 7中完善。
可以下載適用於Windows,macOS和Linux的.NET 5.0 Preview 5:
ASP.NET Core和EF Core也在今天釋出了
我們需要使用Visual Studio 2019 16.7才能使用.NET 5.0。 安裝最新版本的C#擴充套件,以將.NET 5.0與Visual Studio Code結合使用。 Mac的Visual Studio尚不支援.NET 5.0。
釋出說明:
RyuJIT改進
對RyuJIT JIT編譯器進行了以下改進
- 新的、更快的、可移植的tailcall helper實現。
- ARM64硬體內部物理的實現程式
- 在影響正規表示式編譯的情況下改進了JIT的速度
- 使用新的硬體特性BSF/BSR改進英特爾架構效能
- 實現Vector{Size}.AllBitsSet
Native exports
曾要求為匯出本機二進位制檔案啟用匯出功能,這些功能已在很長一段時間內呼叫.NET程式碼。 這是一個很好的方案,現在通過.NET 5.0啟用它。 該功能的構建塊是託管對UnmanagedCallersOnlyAttribute的API支援。
這個功能是建立更高階別體驗的基礎。 團隊的Aaron Robinson一直在從事.NET Native Exports專案,該專案為將.NET元件作為本機庫釋出提供了更完整的體驗。 目前正在尋求有關此功能的反饋,以幫助我們確定該方法是否應包含在產品中。
.NET本地匯出專案使我們能夠:
- 公開自定義的 native exports。
- 不需要像COM這樣的高階互操作技術。
- 跨平臺工作
現有的專案可以實現類似的方案,例如:
[重大變化]刪除.NET 5.0中內建的WinRT支援
注意:這個變化將出現在預覽6中。這是一個早期的通知。
Windows Runtime(WinRT)是Windows中公開使用的新API的技術和ABI。 您可以通過.NET程式碼呼叫這些API,類似於使用C ++的方法。 在.NET Core 3.0中新增了對WinRT interop的支援,這是對Windows桌面客戶端框架(Windows Forms和WPF)新增支援的一部分。
最近,一直在與Windows團隊緊密合作,以更改和改進WinRT interop與.NET的協作方式。 我們已用Windows團隊在.NET 5.0中提供的C#/WinRT工具鏈替換了內建的WinRT支援。 WinRT互操作中的此更改是一項重大更改,使用WinRT的.NET Core 3.x應用將需要重新編譯。 我們將在即將來臨的預覽中提供更多資訊。
在.NET 5中的支援WinRT API中明確指出了這些好處:
- WinRT互操作可以獨立於.NET runtime進行開發和改進。
- 使WinRT互操作與為其他作業系統(如iOS和Android)提供的互作業系統對稱。
- 可以利用許多其他。net特性(AOT, c#特性, IL linking)。
- 簡化.NET執行時程式碼庫(刪除6萬行程式碼)。
將System.DirectoryServices.Protocols擴充套件到Linux和macOS
新增對System.DirectoryServices.Protocols的跨平臺支援。 在Preview 5中,新增了對Linux的支援,並在Preview 6中新增了對macOS的支援。對Windows支援已經存在。
System.DirectoryServices.Protocols是比System.DirectoryServices更低階別的API,並且啟用更多方案。 System.DirectoryServices包含僅適用Windows的概念/實現,因此製作跨平臺並不是一個很容易的事情。
這兩個API都支援對目錄服務伺服器(如LDAP或Active Directory)進行控制和互動。
Alpine 3.12
本週,增加了對Alpine 3.12,.NET Core 3.1和.NET 5的支援。 Alpine Linux的維護者於5月29日宣佈釋出Alpine 3.12。 與過去相比,以更快,更可預測的方式增加對新Linux發行版的支援。
會發現他們已經開始使用一種新的釋出模型來發布新發行版的問題。 這就是我們對Alpine 3.12所做的。 將來,我們計劃更早地釋出這些問題。 例如,需要跟蹤的下一個發行版可能是Ubuntu 20.10。 尚未決定,但可能會在7月或8月釋出該發行版的類似問題,以準備10月發行的新Ubuntu版本。
最後
感謝大家對.NET 5.0預覽版的反饋以及您的早期反饋。 正如文章的簡介中所建議的那樣,現在才釋出大約一半。 現在包括了大多數功能,但是我們希望在接下來的幾個預覽中會進行許多更改,以完成體驗並消除仍然存在的粗糙邊緣。
來源:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-5/