[翻译] ASP.NET Core 2.2 正式版发布
本文為翻譯,原文地址:https://blogs.msdn.microsoft.com/webdev/2018/12/04/asp-net-core-2-2-available-today/
我(文章作者)很高興地宣布ASP.NET Core 2.2現在作為.NET Core 2.2的一部分提供!
怎么獲取它
您可以從 .NET Core 2.2 下載頁面下載適用于您的開發機器和構建服務器的新 .NET Core SDK(2.2.100)。 此頁面還提供了新的 Windows Server hosting,運行時安裝程序和二進制存檔,用于更新服務器。
此版本將 .NET Core,ASP.NET Core 和 Entity Framework Core 更新為2.2.0版。 新的SDK版本是2.2.100。 Visual Studio要求如下:
- Visual Studio 2017 15.9 或者更高版本
- Visual Studio for Mac 7.7 或者更高版本
- Visual Studio Code C# 擴展 1.17.1或者更高版本
Visual Studio 2019 16.0 Preview 1,今天也可以使用,包含了 .NET Core SDK 2.2.100 作為可選組件。
更新了什么?
此 ASP.NET Core 版本的主題是在構建 Web / HTTP API 方面提高開發人員的工作效率和平臺功能。 像往常一樣,我們也做了一些性能改進。 我們已將這些功能作為預覽版本的一部分發布,您可以通過以下鏈接閱讀這些功能:
- 與流行的Open API(Swagger)庫更好地集成,包括使用代碼分析器進行設計時檢查
- 引入端點路由,在MVC中提高了20%的路由性能
- 使用LinkGenerator類改進URL生成并支持路由參數變換器(以及來自Scott Hanselman的文章)
- 用于應用程序運行狀況監視的新的健康檢查API
- IIS進程內托管支持,吞吐量提高了400%
- 提高15%MVC模型驗證性能
- 問題詳細信息(RFC 7807)支持MVC以獲取詳細的API錯誤結果
- 在ASP.NET Core中預覽HTTP / 2服務器支持
- Bootstrap 4和Angular 6的模板更新
- ASP.NET Core SignalR Java 客戶端
- Linux上的HTTPClient性能提高了60%,Windows上提高了20%
Health Checks與BeatPulse集成
我們很高興地宣布,BeatPulse項目現在支持新的Health Checks API,這意味著您可以使用他們的強大支持輕松添加對數十種流行系統和依賴項的檢查。 以下是BeatPulse團隊關于他們對我們新的Health Checks API的支持的消息:
BeatPulse是一個社區驅動的項目,旨在為系統,網絡和企業內部常見的各種服務提供健康檢查機制,例如: SqlServer,MySql,Postgress,Redis,Kafka等等。 當微軟宣布針對2.2路線圖的ASP.NET Core健康檢查時,BeatPulse團隊移植了所有現有的活動包和功能,以便在存儲庫AspNetCore.Diagnostics.HealthChecks中使用新的Microsoft Health Checks抽象。 除了所有健康檢查包之外,BeatPulse團隊還結合了其他功能,如Application Insights和Prometheus,故障通知和UI界面,我們可以配置不同的受監控系統,并具有健康狀態的全局視圖。 此UI可用作Docker Hub中發布的Docker鏡像。
即將推出
當我們宣布規劃ASP.NET Core 2.2時,我們提到了許多上面沒有詳述的功能,包括使用IdentityServer4的API授權,Open API(Swagger)驅動的客戶端代碼生成以及HTTP REPL命令行工具。 這些功能仍在進行中,尚未準備好發布,但我們希望在未來幾個月內將它們作為附加組件提供。 感謝您的耐心,同時我們完成了這些體驗,讓他們為您所有人做好準備。
將項目遷移到ASP.NET Core 2.2
要將ASP.NET Core項目從2.1遷移到2.2,請打開項目的.csproj文件,并將TargetFramework結點的值更改為netcoreapp2.2。 如果您的目標是.NET Framework 4.x,則無需執行此操作。
通過更新NuGet包引用到最新的穩定版本來完成。 請注意,針對.NET Core(而不是.NET Framework)的項目不應為Microsoft.AspNetCore.App程序包指定程序包版本(譯者注:這個程序包不指定具體版本號,由SDK管理),因為這將由SDK自動管理。 如果這樣做,現在將導致構建警告。
有關升級到ASP.NET Core 2.2的更多信息,請參閱此處。
支持生命周期
ASP.NET Core 2.2是當前.NET Core系列中的最新版本。 這是自2.1 LTS宣布重新建立單獨的LTS和Current train以來的首次發布。 Current train是應用新功能,增強功能和常規錯誤修復的地方,建議大多數客戶使用。 請注意,LTS和當前版本都會收到安全性和關鍵穩定性修復的服務更新。 目前預計2.2將是2.x生命周期中的最后一次non-servicing版本,因此不使用LTS版本的客戶將需要在2019年下半年發布后的3個月內遷移到3.0 GA 為了保持支持。
在此處閱讀有關.NET Core支持策略的更多信息。
Azure App Service中的可用性
.NET Core 2.2 SDK,運行時和更新的ASP.NET Core IIS模塊正在部署到全球的Azure App Service區域。 我們預計這將在2018年12月底之前完成。
某些區域可能會在更新的ASP.NET Core IIS模塊(ANCM)之前收到更新的運行時,對于面向ASP.NET Core 2.2的項目,默認情況下這是必需的。 這也是新的進程內托管功能的要求。 如果在部署到Azure App Service后收到啟動錯誤,請嘗試通過將AspNetCoreModule屬性設置為值“AspNetCoreModule”來配置項目以使用現有版本的ANCM,例如:
<PropertyGroup><TargetFramework>netcoreapp2.2</TargetFramework><AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName><AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel> </PropertyGroup>使用最新的ANCM版本更新目標區域后,您可以完全刪除該屬性并重新部署應用程序以使其切換到使用新的ANCM。
此版本還為Azure App Service中的.NET Core添加了更好的64位支持。 如果您使用進程內托管在.NET Core 2.2上運行ASP.NET Core應用程序,則只需在Azure門戶中啟用64位選項,該站點現在將以64位進程運行。 有關如何在Azure App Service中使用其他配置在64位進程中運行ASP.NET Core應用程序的其他信息,請參閱此文章。
給予反饋
與往常一樣,請通過https://github.com/aspnet/AspNetCore issues向我們提供反饋。 我們期待您的回音!
其他相關
EntityFramework Core 2.2 發布
.NET Core 3 Preview1和Windows桌面框架開源
.NET Core 2.2
轉載于:https://www.cnblogs.com/stulzq/p/10069412.html
總結
以上是生活随笔為你收集整理的[翻译] ASP.NET Core 2.2 正式版发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Spring Validation
- 下一篇: 能将三次握手理解到这个深度,面试官拍案叫