.NET 5.0 正式版發(fā)布了!

作為微軟最早邁向開源的重要軟件之一, .NET 的進(jìn)展極具意義。
微軟今天發(fā)布了 .NET 5.0 正式版。
微軟希望 .NET Framework 開發(fā)者能夠遷移他們的代碼和應(yīng)用到 .NET 5.0 上,為明年發(fā)布的 .NET 6.0 將 Xamarin 開發(fā)者過渡到統(tǒng)一平臺(tái)奠定基礎(chǔ)。

ASP.NET Core、EF Core、C#9和F#5也將在今天一同發(fā)布!
目標(biāo)是將所有的 .NET 組件整合到一個(gè)產(chǎn)品下,然后用戶可以根據(jù)需求使用 .NET 的某個(gè)部分,而不是單獨(dú)下載或安裝所有內(nèi)容。
版本發(fā)布時(shí)間軸:
.NET Core 3.0 已于2019/09推出
.NET Core 3.1 已于 2019/12推出,為 LTS (Long Term Support,長期支援版),之后.NET Core 將更名.NET,固定每年釋出新版,并定義雙數(shù)版號(hào)為LTS版,單數(shù)版號(hào)為Current版。
.NET 5.0 2020/11
.NET 6.0 LTS 2021/11
.NET 7.0 2022/11
.NET 8.0 LTS 2023/11
對(duì)于Visual Studio用戶,您需要Visual Studio 16.8或更高的版本才能在Windows上使用.NET 5.0,在MacOS上使用最新版本的Visual Studio for Mac)。Visual Studio Code的C#擴(kuò)展也已經(jīng)支持.NET5.0和C#9。
NET 5.0是我們的.NET統(tǒng)一之旅的第一個(gè)版本。我們構(gòu)建.NET 5.0是為了讓更多的開發(fā)人員能夠?qū)⑺麄兊?NET Framework代碼和應(yīng)用程序遷移到.NET5.0。我們?cè)?.0中也做了很多前期工作,以便Xamarin開發(fā)人員在發(fā)布.NET6.0時(shí)可以使用統(tǒng)一的.NET平臺(tái)。
什么是.NET 5?
.NET 5.0是.NET Framework和.NET Core核心的結(jié)合,旨在統(tǒng)一.NET平臺(tái),微軟將其描述為“.NET的未來”。
.NET 5.0還帶來了大量的改進(jìn),微軟強(qiáng)調(diào)了一些比較顯著的變化,包括一些性能上的改進(jìn)。
以下是這個(gè)版本的所有亮點(diǎn):
.NET 5.0 已經(jīng)部署到 dot.net 和 Bing.com 托管數(shù)月,已經(jīng)得到了實(shí)戰(zhàn)檢驗(yàn)。
很多組件的性能都得到了極大的提高。.NET 5.0 中 ARM64 的性能 和 GRPC 等都有改善
C# 9和F# 5提供了新的語言改進(jìn),如C# 9的頂層程序和記錄,而F# 5則提供了交互式編程和.NET上功能編程的性能提升。
.NET庫對(duì)Json序列化、正則表達(dá)式和HTTP(HTTP 1.1、HTTP/2)的性能有所提升。它們現(xiàn)在也被完全注釋為可空性。
由于GC、分層編譯等方面的完善,P95延遲有所下降。
應(yīng)用部署選項(xiàng)更好了,有了ClickOnce客戶端應(yīng)用發(fā)布、單文件應(yīng)用、容器鏡像尺寸減小,并增加了Server Core容器鏡像。
平臺(tái)范圍擴(kuò)大,增加了WindowsArm64和WebAssembly。
一個(gè)值得注意的變化是,.NET 5.0應(yīng)用可以原生運(yùn)行在ARM64 Windows設(shè)備上,消除了仿真帶來的一些性能障礙。然而,在這個(gè)版本中,Windows 桌面組件并不能用于ARM64設(shè)備--這計(jì)劃在.NET 5.0的服務(wù)更新中進(jìn)行。
網(wǎng)友評(píng)論:
“一方面開發(fā)者有了體驗(yàn)的一致性,另外一個(gè)方面社區(qū)和團(tuán)隊(duì)將不再專注于多個(gè)版本的runtime維護(hù),預(yù)期會(huì)有更多精力進(jìn)行改進(jìn)。”
“過度版本,大同小異,大同小異。”
“影響最深遠(yuǎn)的是統(tǒng)一了bcl,已經(jīng)將類庫升級(jí)為standard2.0+net5了。”
“升級(jí)nuget包后,項(xiàng)目已經(jīng)布上去了,和3.1互相絲滑切換”
“我想說終于走上正軌,但是因?yàn)?.NET 6 Multi-platform App UI,我還是想忍一年再說。”
Array.Copy比BlockCopy還快了,全面Nullable Reference還需努力。
不過我期待的AOT沒有了,小遺憾。暫時(shí)先繼續(xù)觀望,目前我們生產(chǎn)環(huán)境依舊主要用Python,今年我已經(jīng)主導(dǎo)用.net core3上了幾個(gè)小項(xiàng)目,希望接下來生態(tài)可以繼續(xù)完善,讓我們用更低成本開發(fā)高性能的Web應(yīng)用~
有些好奇Unity以后會(huì)不會(huì)支持.NET5呢。應(yīng)該會(huì)吧。同時(shí)還比較期待Windows10X 不過看近期的延期情況來看,感覺要砍啊……(笑
希望是新的時(shí)代的到來!只可惜之前說的AOT到最后只是個(gè)文件打包獨(dú)立編譯,而非我們認(rèn)為的靜態(tài)鏈接縮小體積的單文件編譯。希望.Net6能實(shí)現(xiàn)真正的AOT。


再見度盤,阿里云盤正式登陸App Store!

又來一個(gè)神器,可以查看微信朋友圈訪客記錄!
