是的,.NET Core 3.0正式版發布了,令人興奮。
WPF
其實,.NET Core 2.1開始已經是個很完善的版本,3.0又帶來了什么呢?我站在我的使用角度來看,最最令人振奮的就是:能用WPF了!能用WPF了!能用WPF了!
那Linux能不能用WPF?——嗯……還是不行,雖然能夠用.NET Core SDK開發WPF程序,但它依賴於.NET Core Desktop Runtime,這個運行時目前只有Windows版本,所以別的平台暫時還不能用WPF。可你不覺得這已經是巨大的進步了嗎?這樣一來,我就可以跟.NET Framework說bye bye了,全面進入.NET Core時代。同時,WinForm也是被支持的,吼啊!
我立馬升級了Visual Studio 2019至16.3.1,直接支持創建WPF(.NET Core)項目,開發體驗和之前開發WPF沒什么差別,完美!

另外,現在的dotnet程序可以直接編譯成可執行文件了,而不再需要“dotnet app.dll”這種命令帶參數的方式來運行。
系統要求及兼容性
現在我可以根據客戶的需求編寫一些桌面應用發給用戶了,但要是客戶的操作系統不支持.NET Core 3.0那就白干了,所幸的是.NET Core 3.0對操作系統的要求並不算很過分:
-
Windows 7 SP1+,Windows 8.1+,Windows 10 1067+,Windows Server 2012 R2 SP1+(x86/x64皆可)
-
Redhat 7,CentOS 7,Ubuntu 16.04+,Fedora 29+(需要x64)
-
MacOS 10.13+
Windows7還是支持的,吃了一顆定心丸,要知道,還有海量的客戶仍在使用Windows7。好吧,放心升級了。
至於兼容性,我沒發現有什么問題,之前寫的那些target為.NET Standard 2.0的庫都沒問題。
Runtime
SDK可以認為是同一套,但Runtime根據不同的系統和不同的需求,有不同的安裝包,我們可以簡單地這么認為:安裝.NET Core Runtime,如果是Windows環境且需要WPF之類的桌面應用,再安裝.NET Core Desktop Runtime。
CentOS下如何安裝?
弄好后直接運行之前用2.1版本的SDK開發的程序,沒發現任何問題,至於速度嘛……嗯,好像真有那么回事,快了一點,完美Again!
再列一些我認為很有用的東西
-
性能大幅提高,我沒怎么測過,但2.1的性能我感覺就已經不錯了,吼啊!
-
C# 8,C# 7的那些新特性我還沒完全用上呢,8就出來了,C#的語言特性再跟其它語言甩開距離,Cool。
-
更快的JSON處理API,做WebAPI,那是大量的JSON,增強JSON的功能很有用。
-
升級版本覆蓋前一版本,過去安裝SDK的時候2.1.800,2.1.400是獨立的,會消耗更多磁盤空間,現在更新版覆蓋之前的版本,同時SDK的磁盤空間占用減少了(牛)。
總之,照這么說,我沒有理由不升級到3.0啊。
.NET Core 3.0會非常有前途,更多相關內容直接看這個吧:
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/