.NET Core 3.0 穩定版發布

時間:2019/9/25 10:12:36浏覽次數:764
一(yī)年一(yī)度的.NET開(kāi)發者盛會.NET Conf 2019在昨日(舉辦時間爲9.23-9.25)正式開(kāi)始了。大(dà)會第一(yī)天最重磅也是最激動人心的消息莫過于 .NET Core 3.0穩定版的發布。.NET項目管理總監 Scott Hunter 在大(dà)會宣布了這則消息,并在主題演講環節圍繞.NET Core 3.0 的新特性和社區展開(kāi)了介紹。

作爲一(yī)個大(dà)版本更新,.NET Core 3.0引入了大(dà)量改進和新特性,例如新增加的Windows Forms和WPF、新的JSON API、對 ARM64架構的支持,以及全面提升的性能。對了,C# 8也是.NET Core 3.0本次更新的一(yī)部分(fēn),其中(zhōng)包括可空引用類型(nullable)、異步流(Async Streams)和更多的模式。

除了C# 8,.NET Core 3.0的更新内容還包括 F# 4.7,此版本主要是對語法進行改進,并将目标平台升級至面向 .NET Standard 2.0。

.NET團隊表示 .NET Core 3.0會兼容之前的版本,所以大(dà)家現在就可以将項目升級至 .NET Core 3.0。

下(xià)載地址

.NET Core 3.0的一(yī)些“新料”

在深入探究.NET Core 3.0的所有新功能之前,先來看看一(yī)些重要的改進,其中(zhōng)提及到了 C# 8、F# 4.7、.NET Standard 2.1、在其他發行版上的支持情況等。

在.NET Core 3.0穩定版發布前,它已在 dot.net 和 Bing.com 這兩個網站上運行了數月,并已通過嚴格的測試。微軟的團隊也将很快在生(shēng)産環境中(zhōng)将工(gōng)作負載部署到 .NET Core 3.0 上。

許多組件的性能都獲得了巨大(dà)提升,詳情可查看介紹 .NET Core 3.0性能改進的内容。

C# 8 增加了異步流(async streams)、範圍類型和索引類型(range/index)、更多的模式以及可空引用類型。可空引用類型主要用于幫助我(wǒ)(wǒ)們處理無處不在的空引用異常(NullReferenceException),另外(wài),框架庫的底層已被注釋,編譯器會分(fēn)析代碼流,因此我(wǒ)(wǒ)們能查看null值是否可以将其用于當前位置。

F# 4.7 主要是通過使用隐式的yield表達式來簡化一(yī)些操作,以及語法。此外(wài)還提供了對LangVersion的支持、新增nameof關鍵字,和處于預覽階段的靜态類。F#核心庫的目标平台爲.NET Standard 2.0,詳情點此了解。

.NET Standard 2.1 增加了可以在代碼中(zhōng)使用的類型集,它們也可同時用于.NET Core和Xamarin。

.NET Core 現在已爲 Windows桌面應用提供支持、同時支持 Windows Forms 和 WPF(已開(kāi)源)。WPF設計器已屬于Visual Studio 2019 16.3的一(yī)部分(fēn)。Windows Forms設計器則仍處于預覽階段,可從 VSIX進行下(xià)載。

.NET Core應用現在默認情況下(xià)就具有可執行文件。在之前的版本中(zhōng),需要通過dotnet命令來啓動應用,如dotnet myapp.dll。不過從這個版本開(kāi)始,我(wǒ)(wǒ)們可以使用特定于應用程序的可執行文件(例如 myapp或./myapp, )來啓動應用程序,具體(tǐ)取決于操作系統。

新增高性能的JSON API,用于讀取器/寫入器、對象模型和序列化方案。這些API基于Span從頭開(kāi)始構建,使用 UTF8來替代UTF16(如 string),另外(wài)由于這些API使用了最小(xiǎo)化的内存分(fēn)配,因此帶來了更好的性能,減少了垃圾回收器的工(gōng)作。詳情請查看 The future of JSON in .NET Core 3.0。

默認情況下(xià),垃圾回收器使用更少的内存。對于許多應用程序托管在同一(yī)服務器上的情況,此改進非常有用。此外(wài),新版本中(zhōng)GC能更好地利用具有64核(或大(dà)于)的機器的核心數量。

.NET Core強化了對Docker 的支持,以使.NET應用程序在容器中(zhōng)能按預期且有效地運行。當容器被配置爲有限的内存或CPU時,垃圾回收器和線程池會更好地進行适應已提供最具優化效果的運行方式。.NET Core的Docker鏡像體(tǐ)積也更小(xiǎo)——尤其是SDK鏡像。

支持Raspberry Pi和 ARM芯片,以助力IoT開(kāi)發。其中(zhōng)包括遠程Visual Studio調試器。這就意味着我(wǒ)(wǒ)們可以使用新的GPIO API來部署可監聽(tīng)傳感器的應用程序,并在顯示器上打印消息或圖像。ASP.NET可用于将數據暴露爲API,或作爲一(yī)個在 IoT設備啓用配置的站點。

.NET Core 3.0會被11月發布的.NET Core 3.1取代,因爲後者才是 LTS版本(至少會獲得三年的技術支持),不過官方還是建議大(dà)家先升級到 .NET Core 3.0,然後再升級到3.1,這樣過渡起來更方便。

.NET Core 2.2将于今年12.23到達EOL階段。查看 .NET Core support policy。

.經過與Red Hat的多年合作,.NET Core 3.0将随RHEL 8 在Red Hat Application Streams中(zhōng)一(yī)起提供。

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#擴展,以确保最新的方案能夠正常工(gōng)作,包括針對.NET Core 3.0的目标平台。

.NET Core 3.0 的 Azure App Service 部署目前正在進行中(zhōng)。

.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上運行。

對芯片的支持情況如下(xià):

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卻不滿足。

IT服務外(wài)包
IT采購
弱電(diàn)工(gōng)程
系統集成
網絡安全

咨詢電(diàn)話(huà):

021-51697581
掃一(yī)掃,關注官方微信
實時掌握逾仕最新動态
Copyright 2005-2024 逾仕科技(IT服務外(wài)包/系統集成), All Rights Reserved 備案/許可證号: