咱們很高興地宣佈發佈.NET Core 2.2。它包括對運行時的診斷改進,對ARM32 for Windows和Azure Active Directory for SQL Client的支持。此版本中最大的改進是在ASP.NET Core中。html
ASP.NET Core 2.2和Entity Framework Core 2.2。git
您能夠在Windows,macOS和Linux上下載並開始使用.NET Core 2.2:github
Visual Studio 15.9,Visual Studio for Mac和Visual Studio Code 支持.NET Core 2.2 。sql
對於.NET Core和ASP.NET Core,能夠在microsoft / dotnet上得到Docker鏡像。docker
您能夠在.NET Core 2.2發行說明中查看該發行版的完整詳細信息。發行說明中包含相關說明,已知問題和解決方法。請在評論或dotnet / core#2098中報告您發現的任何問題。windows
感謝爲.NET Core 2.2作出貢獻的每一個人。您已經幫助.NET Core成爲更好的產品!性能
本次發佈包含如下特性:操作系統
分層編譯是一種功能,使運行時可以更自適應地使用實時(JIT)編譯器,以在啓動時得到更好的性能並最大化吞吐量。它做爲.NET Core 2.1中的選擇加入功能添加,而後在.NET Core 2.2 Preview 2中默認啓用。咱們認爲咱們尚未準備好在最終的.NET Core 2.2版本中默認啓用它,因此咱們將其切換回選擇加入,就像.NET Core 2.1同樣。它在.NET Core 3.0中默認啓用,咱們但願它保留在該配置中。server
一般須要監視運行時服務(如當前進程的GC,JIT和ThreadPool),以瞭解這些服務在運行應用程序時的行爲方式。在Windows系統上,這一般使用ETW並監視當前進程的ETW事件來完成。雖然這種方法仍然有效,但使用ETW並不老是容易或可能。不管您是在低權限環境中運行仍是在Linux或macOS上運行,均可能沒法使用ETW。htm
從.NET Core 2.2開始,如今可使用EventListener類來使用CoreCLR事件。這些事件描述了GC,JIT,ThreadPool和interop的行爲。它們是在Windows上做爲CoreCLR ETW提供程序的一部分公開的相同事件。這容許應用程序使用這些事件或使用傳輸機制將它們發送到遙測聚合服務。
SQL Server的ADO.NET提供程序SqlClient如今支持將AccessToken屬性設置爲使用Azure Active Directory對SQL Server鏈接進行身份驗證。要使用此功能,您可使用Microsoft.IdentityModel.Clients.ActiveDirectory NuGet包中包含的Active Directory身份驗證庫for .NET獲取訪問令牌值。
如下示例顯示如何使用Azure Active目錄驗證SQL Server鏈接:
有關更多信息,請參閱ADAL.NET和Azure Active Directory文檔。
.NET Core如今能夠在經過Startup Hook運行應用程序main方法以前注入代碼。啓動掛鉤使主機能夠在部署應用程序後自定義應用程序的行爲,而無需從新編譯或更改應用程序。
咱們但願託管服務提供商定義自定義配置和策略,包括可能影響主入口點的加載行爲的設置,例如AssemblyLoadContext行爲。鉤子可用於設置跟蹤或遙測注入,設置回調以進行處理或其餘依賴於環境的行爲。鉤子與入口點分開,所以不須要修改用戶代碼。
有關更多信息,請參閱主機啓動掛鉤
咱們正在添加對Windows ARM32的支持,相似於咱們在.NET Core 2.1中添加的Linux ARM32支持。Windows已經支持使用Windows IoT Core的ARM32 一段時間了。做爲Windows Server 2019發行版的一部分,還爲Nanoserver添加了ARM32支持。.NET Core能夠在Nanoserver和IoT Core上使用。
將在Docker Hub 上的microsoft / dotnet上爲ARM32的Nanoserver提供Docker。
咱們遇到了一個遲到的錯誤,阻止咱們今天發佈針對Windows ARM32的.NET Core版本。咱們預計這些版本將在2019年1月的.NET Core 2.2.1中使用。
如下操做系統支持.NET Core 2.2:
芯片支持以下: