https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0.0/3.0.0.md?github.comDownload .NET Core 3.0 (Linux, macOS, and Windows)?dotnet.microsoft.com
.NET Core 3.0 是以.NET Core命名的最後一個大版,後續將改名為.NET 5。在走向 .NET 5 的路上又邁出一大步, .NET Framework 跨平台的使命終將由.NET Core來完成。基本可以對.NET Framework Say Goodbye了。
更匯總內容查看:
概要內容包括:
關於高性能的JSON API
---更新0928---
關於在桌面應用如何打包為單個應用
方法一:
在**.csproj 中,添加 PublishSingleFile的配置節點 ,如下所示
& &win10-x64& & &true& & &true& &
方法二:
使用命令進行發布時,添加參數 PublishSingleFile及PublishTrimmed
dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true
打包出來的文件還是比較大的,我用.NET Core 3.0自帶的樣例工程,打包後單個文件大小約為 152.7MB,但添加上"PublishTrimmed" 的配置後,體積減少至84.2MB。
再通過7-Zip 壓縮後,體積大約可壓縮至20MB(19~23,視不同壓縮選項)。
更多信息參考: dotnet/designs/Single-file Publish
————20200104補充————
3.1已經開始用了,用了一段時間之後,來補充一下和之前了解的一些偏差。
之前說在nuget包中不能添加對http://ASP.net core 3.0的引用,其實是因為機制變了,從3.0開始,http://ASP.net就變成了「內置」,不需要顯式添加,但如果你編寫的是個Library而不是Web Application,還是要引用以下的,只不過不是直接引用nuget包,而是「聲明」一下,需要AspNetCore這個框架:&
3.1和3.0比起來基本沒什麼變化,只是小範圍的更新,所以之前如果升級到了3.0,從3.0升級到3.1的話基本不需要做什麼事情。
而從2.1升級到3.0,還是有好些事情要做的,不能說非常麻煩,但對我而言也要踩踩坑,總結回來也不算太難吧。升級好之後覺得這個框架更加精鍊和合理了,比如可以去除一些看起來有點冗餘的引用,Startup.cs也可以減少一定量的代碼,對於將代碼分散到不同的Library去的做法,它提供了更為「官方」的RazorLibrary項目類型。
3.1是一個LTS版本,建議大家從這個版本開始入坑,我看了一下,現在各個主要的Library使用下來都沒啥問題。
————20191015補充————
3.0使用下來發現些問題,一是不會將引用的nuget包中的xml和pdb文件複製到生成的bin目錄,這對我來說是個不小的問題;再就是與3.0相對應的http://ASP.net core 3.0的nuget包似乎還沒上線,我想創建一個庫並添加對3.0的引用都不行;還有3.0並不是一個LTS版本,我建議等3.1,3.1下個月就發布了。
————以下寫於20190926————
我今天寫了篇博客,轉過來:
--------
.NET Core 3.0正式版發布了,令人興奮。
其實,.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程序可以直接編譯成可執行文件(exe)了,而不再需要「dotnet app.dll」這種命令帶參數的方式來運行。
現在我可以根據客戶的需求編寫一些桌面應用發給用戶了,但要是客戶的操作系統不支持.NET Core 3.0那就白乾了,所幸的是.NET Core 3.0對操作系統的要求並不算很過分:
Windows7還是支持的,吃了一顆定心丸,要知道,還有海量的客戶仍在使用Windows7。好吧,放心升級了。
至於兼容性,我沒發現有什麼問題,之前寫的那些target為.NET Standard 2.0的庫都沒問題。
SDK可以認為是同一套,但Runtime根據不同的系統和不同的需求,有不同的安裝包,我們可以簡單地這麼認為:安裝.NET Core Runtime,如果是Windows環境且需要WPF之類的桌面應用,再安裝.NET Core Desktop Runtime。
具體看:https://dotnet.microsoft.com/download/dotnet-core/3.0
參考這個鏈接:https://dotnet.microsoft.com/download/linux-package-manager/centos7/sdk-current
總之,照這麼說,我沒有理由不升級到3.0啊。
.NET Core 3.0會非常有前途,更多相關內容直接看這個吧:https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
據Scott的博客表明,.NET Core 3.0是歷史上最成功的版本,幾個月時間社區關注者都超過了100w~
確實也做了非常多的升級,比如大家期待已久的winform和wpf,第一次在.NET Core也可以上手開發了。
不過最讓人期待的是,.NET Core 3.0之,就是.NET5啦。截止05.15,.NET5已經出了3個預覽版了,11月份能如期上映RC版嗎?一起拭目以待!
說點題外話,5月份的語言排名,C#份額還在持續增長,優秀!
拍手稱快,我DotNet日後若是能揚眉吐氣,DotNet Core 3.0功不可沒。
說實話了,我不擔心http://ASP.NET Core,也不擔心WPF和WinForm。他們會在他們的領域繼續做著他們該做的事情。或許會吸引一點個人開發者和一些小項目,但是對於國內的大環境應該擊不起什麼波浪。
我唯一擔心的是Blazor,我看了這個東西感覺很有搞頭,我也準備去嘗嘗鮮。但是考慮到微軟向來有「領先一步是先驅,領先兩步是先烈」的傳統,我對這個玩意還是保謹慎樂觀,甚至不樂觀的態度。
Blazor Server 正式面世.
客戶端程序在伺服器上執行 , 瀏覽器作為一個映射的界面,
伺服器可以隨心所欲地, 安全地讀寫文件與資料庫.
不再需要寫TMD的WebServices/AJAX/WebAPI/亂七八糟的通信玩意了.
這簡直就是企業開發的福音.