【翻译】.NET 5 Preview5发布
今天,發布了.NET 5.0 Preview5。主要對它進行了一小部分新功能和性能的改進。.NET 5.0 Preview 4包含了一些計劃和.NET 5.0要交付的內容。
現在,大多數的功能都已經包含在里面,但是有許多功能還未到最終狀態。預計這個版本在Preview 7中完善。
可以下載適用于Windows,macOS和Linux的.NET 5.0 Preview 5:
Windows and macOS installers
Binaries
Docker images
Snap installer
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。
發布說明:
.NET 5.0 release notes
.NET 5.0 known issues
GitHub release
GitHub tracking issue
RyuJIT改進
對RyuJIT JIT編譯器進行了以下改進
新的、更快的、可移植的tailcall helper實現。
ARM64硬件內部物理的實現進程
實現ASIMD Extract Insert ExtractVector64 ExtractVector128
實現 ASIMD widening, narrowing, saturating intrinsics
添加VectorTableList和TableVectorExtension內部函數
添加對ARM64內部函數的CreateScalarUnsafe()支持
ARM64對Vector64.Create()和Vector128.Create()的內在支持
使用arm64 intrinsic優化BitOperations.PopCount ()
在影響正則表達式編譯的情況下改進了JIT的速度
使用新的硬件特性BSF/BSR改進英特爾架構性能
實現Vector{Size}.AllBitsSet
Native exports
曾要求為導出本機二進制文件啟用導出功能,這些功能已在很長一段時間內調用.NET代碼。這是一個很好的方案,現在通過.NET 5.0啟用它。該功能的構建塊是托管對UnmanagedCallersOnlyAttribute的API支持。
這個功能是創建更高級別體驗的基礎。團隊的Aaron Robinson一直在從事.NET Native Exports項目,該項目為將.NET組件作為本機庫發布提供了更完整的體驗。目前正在尋求有關此功能的反饋,以幫助我們確定該方法是否應包含在產品中。
.NET本地導出項目使我們能夠:
公開自定義的 native exports。
不需要像COM這樣的高級互操作技術。
跨平臺工作
現有的項目可以實現類似的方案,例如:
Unmanaged Exports
DllExport
[重大變化]刪除.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/
總結
以上是生活随笔為你收集整理的【翻译】.NET 5 Preview5发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 别了,Docker Swarm !你好,
- 下一篇: asp.net ajax控件工具集 Au