【翻譯】.NET 5 Preview 1 發佈

.NET 5 Preview 1 發佈

去年年末,咱們發佈了.NET Core 3.0和3.1.這些版本添加了桌面應用程序模型Windows Forms(WinForms)和WPF,ASP.NET Blazor用於構建SPA應用程序和用於構建分佈式應用和服務的gRPC模板、用於與gRPC對話豐富的客戶端代碼生成、REST API服務等等.咱們很高興看到.NET Core 3成爲有史以來發展最快的.NET版本,而且在去年又增長了100萬的用戶.前端

咱們還對這些版本進行了溝通,以將結束從.NET Framework框架移植應用程序模型的工做.藉助
.NET Core 3,咱們已經移植了全部最經常使用的應用模型,並引入了新的跨平臺框架來替代咱們那些沒有移植的框架.git

當咱們期待下一個主要版本.NET 5的發佈時,咱們將繼續將.NET移動應用程序模型(Xamarin) 包含在.NET 5中, 繼續將.NET統一到一個平臺中,.NET 5包含ASP.NET Core、Entity Framework Core、WinForms、WPF、Xamarin、ML.NET.整個平臺將首次爲全部應用程序木星使用統一的BCL(Base Class Libraries).擁有一個比.NET Core和.NETFrameWork更高版本5, 這也清楚代表了.NET 5是將來,.NET是一個用於構建任何類型的應用程序的單一統一平臺.github

咱們已經說過不少次了, 可是咱們將再次重申..NET Core而後是.NET 5都應使用.NET來構建全部的新應用程序.只要支持Windows自己,.NET Framework仍將受支持.咱們將繼續提供安全性和錯誤修復, 並保持網略和加密API的最新狀態.將較舊的應用程序保留在.NET Framework上將保持安全並受到支持.算法

Install .NET 5.0 Preview 1

今天咱們發佈了.NET 5的第一個預覽版, 該預覽版計劃在今年11月下旬在GA(General Availability) 中發佈.express

  • .NET 5.0 Preview 1 SDK

    請參閱ASP.NET Core updates in .NET 5 Preview 1,以瞭解當今的ASP.NET Core版本.api

    Preview1首次包括對Windows ARM64的支持.今天的版本包括.NET Core運行時.咱們但願Preview 2包含SDK(ASP.NET Core,但不包括WPF或Windows窗體).後續的預覽將包括WPF和Windows窗體.對Windows ARM64的支持也將反向移植到.NET Core 3.1.咱們將在"Preview 2"帖子中分享有關此信息的更多信息.瀏覽器

Updating existing projects

您能夠經過更新目標框架來更新現有項目,以下所示:安全

<TargetFramework>netcoreapp5.0</TargetFramework>

High-level goals for .NET 5

讓我重點介紹.NET 5的一些高級目標:app

  • 統一的.NET SDK經驗:

全部.NET 5應用程序中的單個BCL(基類庫). 今天Xamarin應用程序使用Mono BCL,但將轉向使用.NET Core BCL, 從而改善了咱們應用程序模型之間的兼容性.框架

移動開發(Xamarin)已集成到.NET 5中.這意味着.NET SDK將支持移動.例如, 您可使用"dotnet new XamarinForms"建立移動應用程序.

  • 支持多個平臺的Native Applications:
    支持應用程序的Single Device project, 該應用程序可使用這些平臺上支持的本機控件在多個設備上運行,例如Window Desktop, Microsoft Duo(Android) 和iOS.
  • 支持多種平臺的Web Applications:Single Blazor project, 該項目支持能夠在瀏覽器中, 在移動設備上以及做爲本機桌面應用程序(例如Windows 10x)運行的應用程序
    • Cloud Native Applications:高性能, 單個文件(.exe)<50MB微服務,支持在本地和雲中構建多個項目(API, Web前端, 容器).
  • 持續改進,例如:BCL中的算法更快,運行時中對容器的更好支持,對HTTP3的支持.

今天的第一個預覽還沒有包含支持這些高級目標的全部工做,但咱們將在將來的預覽中繼續發佈更多功能.

Improvements in Preview 1

下面的改進在Preview 1中:

Regular expression performance improvements

咱們已對Regex引擎進行了重大改進.在咱們嘗試過的許多表達式中,這些改進一般能夠將吞吐量提升3-6倍,在某些狀況下甚至能夠提升更多.咱們即將發佈一篇博客文章,其中將詳細介紹這些改進.

Code quality improvements in RyuJIT

每一個版本都對JIT生成的代碼進行了一系列性能改進. 咱們將這些類型的改進稱爲"CQ"或代碼質量.在大多數狀況下,這些改進也適用於爲準備運行的images生成的代碼.

下面的改進在Preview 1中:

Assembly load diagnostics added to event pipe

咱們已將程序集加載信息添加到事件管道.這項改進是開始提供相似的診斷功能(與.NET Framework一塊兒使用Fusion Log Viewer的一部分)的開始.如今,您可使用dotnet-trace經過如下命令來收集此信息:

dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id[process ID]

使用事件管道的跟蹤程序集加載中介紹了工做流.您能夠查看簡單測試應用程序的程序集加載信息.

image

Event pipe profiler APIs

事件管道是咱們在.NET Core 2.2中添加的新子系統和API,能夠在任何操做系統上執行性能和其餘診斷調查.在.NET 5.0中,事件管道已獲得擴展,以使探查器可以寫入事件管道事件.對於之前依靠ETW監視應用程序行爲和性能的分析探查器,此方案相當重要.

GitHub repo consolidation

做爲.NET 5版本的一部分,咱們減小了用於構建和打包.NET的GitHub存儲庫的數量.回購邊界對項目的許多方面都具備重大影響,包括構建和問題管理.使用.NET Core 1.0,咱們在ASP.NET,EF和.NET Core中擁有超過100個存儲庫.經過此最新版本, 咱們如今能夠一方面計算主存儲庫.咱們還將幾乎全部存儲庫都移到了dotnet org.

查看新的合併倉庫:

最後

咱們但願您對.NET 5正在進行的工做感到興奮!爲.NET 5作準備的最好方法是將全部.NET Core應用程序遷移到3.1-咱們將使從.NET Core 3.1到.NET 5的過渡儘量輕鬆.並且, 若是您仍在.NET Framework上構建應用程序, 請放心將這些應用程序放在.NET Framework上, 但請考慮對全部新應用程序使用.NET Core 3.1..NET有不少使人興奮的事情!

來源:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-1/

相關文章
相關標籤/搜索