一年一度的.NET開發(fā)者盛會.NET Conf 2019在昨日(舉辦時間為9.23-9.25)正式開始了。大會第一天最重磅也是最激動人心的消息莫過于 .NET Core 3.0穩(wěn)定版的發(fā)布。.NET項目管理總監(jiān) Scott Hunter 在大會宣布了這則消息,并在主題演講環(huán)節(jié)圍繞.NET Core 3.0 的新特性和社區(qū)展開了介紹。
作為一個大版本更新,.NET Core 3.0引入了大量改進和新特性,例如新增加的Windows Forms和WPF、新的JSON API、對 ARM64架構(gòu)的支持,以及全面提升的性能。對了,C# 8也是.NET Core 3.0本次更新的一部分,其中包括可空引用類型(nullable)、異步流(Async Streams)和更多的模式。
除了C# 8,.NET Core 3.0的更新內(nèi)容還包括 F# 4.7,此版本主要是對語法進行改進,并將目標平臺升級至面向 .NET Standard 2.0。
.NET團隊表示 .NET Core 3.0會兼容之前的版本,所以大家現(xiàn)在就可以將項目升級至 .NET Core 3.0。
下載地址
.NET Core 3.0的一些“新料”
在深入探究.NET Core 3.0的所有新功能之前,先來看看一些重要的改進,其中提及到了 C# 8、F# 4.7、.NET Standard 2.1、在其他發(fā)行版上的支持情況等。
在.NET Core 3.0穩(wěn)定版發(fā)布前,它已在 dot.net 和 Bing.com 這兩個網(wǎng)站上運行了數(shù)月,并已通過嚴格的測試。微軟的團隊也將很快在生產(chǎn)環(huán)境中將工作負載部署到 .NET Core 3.0 上。
許多組件的性能都獲得了巨大提升,詳情可查看介紹 .NET Core 3.0性能改進的內(nèi)容。
C# 8 增加了異步流(async streams)、范圍類型和索引類型(range/index)、更多的模式以及可空引用類型??煽找妙愋椭饕糜趲椭覀兲幚頍o處不在的空引用異常(NullReferenceException),另外,框架庫的底層已被注釋,編譯器會分析代碼流,因此我們能查看null值是否可以將其用于當前位置。
F# 4.7 主要是通過使用隱式的yield表達式來簡化一些操作,以及語法。此外還提供了對LangVersion的支持、新增nameof關(guān)鍵字,和處于預覽階段的靜態(tài)類。F#核心庫的目標平臺為.NET Standard 2.0,詳情點此了解。
.NET Standard 2.1 增加了可以在代碼中使用的類型集,它們也可同時用于.NET Core和Xamarin。
.NET Core 現(xiàn)在已為 Windows桌面應用提供支持、同時支持 Windows Forms 和 WPF(已開源)。WPF設計器已屬于Visual Studio 2019 16.3的一部分。Windows Forms設計器則仍處于預覽階段,可從 VSIX進行下載。
.NET Core應用現(xiàn)在默認情況下就具有可執(zhí)行文件。在之前的版本中,需要通過dotnet命令來啟動應用,如dotnet myapp.dll。不過從這個版本開始,我們可以使用特定于應用程序的可執(zhí)行文件(例如 myapp或./myapp, )來啟動應用程序,具體取決于操作系統(tǒng)。
新增高性能的JSON API,用于讀取器/寫入器、對象模型和序列化方案。這些API基于Span從頭開始構(gòu)建,使用 UTF8來替代UTF16(如 string),另外由于這些API使用了最小化的內(nèi)存分配,因此帶來了更好的性能,減少了垃圾回收器的工作。詳情請查看 The future of JSON in .NET Core 3.0。
默認情況下,垃圾回收器使用更少的內(nèi)存。對于許多應用程序托管在同一服務器上的情況,此改進非常有用。此外,新版本中GC能更好地利用具有64核(或大于)的機器的核心數(shù)量。
.NET Core強化了對Docker 的支持,以使.NET應用程序在容器中能按預期且有效地運行。當容器被配置為有限的內(nèi)存或CPU時,垃圾回收器和線程池會更好地進行適應已提供最具優(yōu)化效果的運行方式。.NET Core的Docker鏡像體積也更小——尤其是SDK鏡像。
支持Raspberry Pi和 ARM芯片,以助力IoT開發(fā)。其中包括遠程Visual Studio調(diào)試器。這就意味著我們可以使用新的GPIO API來部署可監(jiān)聽傳感器的應用程序,并在顯示器上打印消息或圖像。ASP.NET可用于將數(shù)據(jù)暴露為API,或作為一個在 IoT設備啟用配置的站點。
.NET Core 3.0會被11月發(fā)布的.NET Core 3.1取代,因為后者才是 LTS版本(至少會獲得三年的技術(shù)支持),不過官方還是建議大家先升級到 .NET Core 3.0,然后再升級到3.1,這樣過渡起來更方便。
.NET Core 2.2將于今年12.23到達EOL階段。查看 .NET Core support policy。
.經(jīng)過與Red Hat的多年合作,.NET Core 3.0將隨RHEL 8 在Red Hat Application Streams中一起提供。
Visual Studio用戶如需在Windows上使用.NET Core 3.0,需要升級至Visual Studio 2019 16.3。
Visual Studio用戶如需在macOS上使用.NET Core 3.0,需要升級至Visual Studio for Mac 8.3。
Visual Studio Code 用戶則需要使用最新版本的C#擴展,以確保最新的方案能夠正常工作,包括針對.NET Core 3.0的目標平臺。
.NET Core 3.0 的 Azure App Service 部署目前正在進行中。
.NET Core 3.0的Azure Dev Ops部署即將推出。
.NET Core 3.0支持的平臺
Alpine: 3.9+
Debian: 9+
openSUSE: 42.3+
Fedora: 26+
Ubuntu: 16.04+
RHEL: 6+
SLES: 12+
macOS: 10.13+
Windows Client: 7, 8.1, 10 (1607+)
Windows Server: 2012 R2 SP1+
要注意的是,Windows Forms和WPF應用僅支持在Windows上運行。
對芯片的支持情況如下:
x64 on Windows, macOS, and Linux
x86 on Windows
ARM32 on Windows and Linux
ARM64 on Linux (kernel 4.14+)
注意:請確保.NET Core 3.0在ARM64上的部署使用Linux Kernel 4.14或更高版本。例如,Ubuntu 18.04能滿足此要求,但16.04卻不滿足。
VIP客戶
- 諾德安達國際教育集團
- 寧波福爾達智能科技股份有限公司
- 上海全筑控股集團股份有限公司
- 上海長寧煙草集團長寧煙草糖酒有限公司
- 上海錦江之星旅館葉家宅店網(wǎng)絡、監(jiān)控系統(tǒng)維護
- 艾蒙斯特朗流體系統(tǒng)(上海)有限公司
- 莫泰酒店上海桃浦店監(jiān)控系統(tǒng)服務
- 締展國際貿(mào)易(上海)有限公司
- 康百世朝田液壓機電(中國)有限公司
咨詢電話:
400-880-7581實時掌握威麗最新動態(tài)