.NET 5 Preview 1的深度解读和跟进
這幾天微軟.NET 團隊發布了.NET 5 Preview 1, 如約而至。很興奮,因為.NET Core和.NET Framework終于實現了大一統,同時也很期待,期待.NET 5能給我們帶來哪些好的新特性。
?讓我們先把時間撥回到2019年...
?一、2019年.NET 5的提前劇透
? ?去年2019年 Richard提前劇透了.NET 5?https://devblogs.microsoft.com/dotnet/introducing-net-5/。這篇文章中,我們先回顧并畫一下重點:
? ?1. NET Core 3.x之后會統一升級到.NET 5,一個統一的平臺 A unified platform
? ? ? ?.NET 5 = .NET Core vNext
? ? ? ?直接跳過.NET Core 4, 原因是.NET Core 4.x和.NET Framework 4.*.* 會產生版本上的混淆,索性就直接.NET 5,
? ? ? .NET 5 名字中直接去掉了.NET Core,? 為了統一.NET的命名,目標就是只有一個.NET,?
? ? ? 統一一個運行時和框架,框架可以在任何地方運行,具備統一的運行行為和開發體驗
? ? ? 充分利用.NET Core、.NET Framework、Mono、Xamarin來擴展.NET 功能
? ? ? 統一單個代碼庫,微軟.NET 開發團隊和社區共同維護、發展
? 2. .NET 5 定位與Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly等全平臺、全場景開發
? ? ??
? 3. .NET 5的新特性
? ? ? Java互操作性將在所有平臺上可用。
? ? ? 在多個操作系統上將支持Objective-C和Swift的互操作性。
? ? ? CoreFX將得到擴展,以支持.NET的靜態編譯(ahead-of-time – AOT),更小的占用空間并支持更多的操作系統。
? 4. 更高的吞吐量和生產效率
? 5. 快速啟動、更小的體積和內存使用
二、2020年3月16日 .NET 5 Preview 1 released
? 前幾天,3月16號,Scott Hunter 在博客中發布了一個令人興奮的消息,.NET 5 Preview 1 第一個預覽版發布。
??https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-1/
? 博文中,Scott Hunter說:“.NET Core 3 has become the fastest adopted version of .NET ever and we’ve?gained another million more users?in just the last year.”,
? ? ? ? ? ? ?翻譯:“.NET Core 3成為有史以來最快采用的.NET版本,而僅僅在去年,我們又獲得了100萬用戶。”
? 這個數據強有力地說明了.NET Core的強大吸引力。同時.NET Core 3.1也是一個LTS版本,包括我們特來電在內的不少公司,都已經升級到了.NET Core 3.1這個版本。
? 寫到這,同時結合2019年的提前劇透,我們對.NET 5 的期待非常高,但是在這里,新發布的.NET 5 Preview 1, 大家要冷靜一下,為什么呢?
? ?這是第一個預覽版
? ?GA一般可用版本講在2020年11月份發布
? ?目前看Preview 1的新特性有限
? 接下來,我們詳細研究一下.NET 5 Preview 1的新特性:
? 1. 安裝部署
.NET 5.0 Preview 1 SDK
.NET 5.0 Preview 1 Runtime
? ?2. 升級現有項目
<TargetFramework>netcoreapp5.0</TargetFramework>? ?如果是ASP.NET Core項目
將所有Microsoft.AspNetCore。*程序包引用更新為5.0.0-preview.1.20124.5。
將所有Microsoft.Extensions。*軟件包引用更新為5.0.0-preview.1.20120.4。
???3. ASP.NET Core 5.0 的更新
? ? 貌似只修復和改進幾個功能點和些許Bug......
? ??https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-1/
ASP.NET Core in .NET 5 Preview 1 doesn’t include any major new features just yet, but it does include plenty of minor bug fixes.? ?
? ?4. 正則表達式性能提升
? ? ? 官方:我們嘗試過的許多表達式中,這些改進通??梢允雇掏铝?strong>提高3-6倍,在某些情況下甚至可以提高更多。
? ?5. RyuJIT中代碼質量改進
? ? ?官方:每個版本都對JIT生成的代碼進行了一系列性能改進。我們將這些類型的改進稱為“ CQ”或代碼質量。
???6. 程序集加載診斷添加到事件管道
? ? ?將程序集加載信息添加到事件管道。方便診斷分析程序集的加載情況(與.NET Framework一起使用Fusion Log Viewer的一部分)??梢允褂胐otnet-trace通過以下命令來收集此信息:
dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]? ?
? ?7. 事件管道探查器編程API
? ?事件管道是在.NET Core 2.2中添加的新子系統和API,可以在任何操作系統上執行性能和其他診斷調查。在.NET 5.0中,事件管道已得到擴展,以使探查器能夠寫入事件管道事件。
? ?這個類似于原來.NET Framework中往事件查看器中寫事件的功能。比如說可以用到程序啟動、關閉、Crash時的信息記錄,方便程序問題跟蹤、分析。
? ?8. GItHub倉庫合并
??.NET 5中減少了用于構建和打包.NET 的GitHub存儲庫的數量。? 代碼合并了,統一了!
? ?dotnet /運行時(是dotnet / corefx,dotnet / coreclr和dotnet / core-setup)
? ?dotnet / aspnetcore(在aspnet組織中有多個存儲庫)
? ?dotnet / sdk(以前是dotnet / sdk,dotnet / cli)
???9. 然而,不包含.NET 5的一些高級目標(不詳細展開說了,期待后續預覽版本了)
? ?通過上面的梳理和整理,.NET 5 Preview 1, 大家期待不要太高,畢竟是第一個預覽版。可以理解為合并現有代碼、修復部分Bug,為.NET 5 打了個基線。
? ?我們可以繼續等待并期待后續更新預覽版和GA版本的發布。
? ?以上是.NET 5 Preview 1的深度解讀和跟進。分享給大家。
原文地址:https://www.cnblogs.com/tianqing/p/12555235.html
總結
以上是生活随笔為你收集整理的.NET 5 Preview 1的深度解读和跟进的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core开发实战(第30课:领
- 下一篇: asp.net ajax控件工具集 Au