ASP.NET Core 2.2发布。 最新消息 (3之2)

12月4日, 发布了ASP.NET Core 2.2 ;它是.NET Core 2.2程序包的一部分。 我最近写了有关.NET Core 2.2的文章,现在我需要深入探讨该主题。 让我们看看为我们准备了什么新事物。



去哪儿


.NET Core SDK(2.2.100)可以从常规位置下载并可以在您的开发计算机和服务器上使用。 那里提供了新的Windows Server托管,运行时安装程序和用于更新服务器的二进制存档。


此版本专用于将.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(也于12月4日发布)使您可以选择连接.NET Core SDK 2.2.100。


最新消息


此版本的ASP.NET Core的主要思想是提高开发人员的生产力和平台功能,尤其是Web / HTTP API。 与往常一样,我们还照顾了表演。 我们已经在先前版本的框架中写过这些功能,因此您可以阅读以下链接的详细说明:



译者注 :所有链接均指向英文原文。 如果您想查看其中一些翻译成《哈布雷》的作品,请在评论中写下!


健康检查与BeatPulse集成


BeatPulse项目现在支持新的Health Checks API。 实际上,现在您可以快速轻松地添加与许多流行的系统和依赖项兼容的检查,BeatPulse对它们的支持非常出色。 这是BeatPulse对新的Health Checks API的评价:


“ BeatPulse是一个社区驱动的项目,旨在为企业,SQL Server,MySQL,PostgreSQL,Redis,Kafka和许多其他企业中经常发现的应用程序,网络和各种服务提供运行状况检查机制。 当Microsoft在2.2发行版路线图中宣布ASP.NET Core Health Checks时,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本身自动控制。 如果这样做,您将在构建时收到警告。


有关升级到ASP.NET Core 2.2的更多信息, 请参见此处


支持生命周期


ASP.NET Core 2.2是当前版本培训器中的最新版本。 这是自2.1 LTS发行以来的第一个版本,该版本宣布了LTS和Current列车之间的区别。 Current Train是应用了最新功能,改进和常规错误修复的地方,建议大多数用户使用。 请注意,LTS和Current都接收服务安全更新和关键稳定性更新。 现在我们可以假设2.2将是2.x系列生命周期中的最后一个非服务更新,并且那些不想使用LTS的客户将需要在2019年下半年发布3.0个月内迁移到3.0 GA,否则他们冒着失去支持的风险。


有关.NET Core支持策略的更多信息, 请参见此处


通过Azure应用服务的可用性


.NET Core 2.2 SDK,.NET运行时和ASP.NET Core的更新的IIS模块当前正在部署到全球的Azure App Service中。 我们希望在2018年12月底之前完成此过程。


某些区域在更新IIS模块(ANCM)之前可能会收到更新的运行时,这是针对ASP.NET Core 2.2的项目默认所需的。 此外,这是新的进程内托管的基本要求。 如果在部署到Azure App Service后看到启动错误,请尝试将项目设置为使用现有版本的ANCM,方法是将AspNetCoreModule属性设置为“ AspNetCoreModule ”,例如:


 <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName> <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel> </PropertyGroup> 

将目标区域更新到最新版本的ANCM后,您可以在任何地方删除这些属性并重新部署应用程序-结果,您将使用最新版本的ANCM。


除其他事项外,此版本还为.NET Core的Azure应用服务增加了对64位体系结构的支持。 如果您在启用进程内托管的.NET Core 2.2上运行ASP.NET Core应用程序,则只需在Azure Portal中启用“ 64位”选项,整个站点将以64位进程开始运行。 另一篇文章中介绍有关ASP.NET Core应用程序在具有其他配置的Azure App Service上的64位进程中的操作的其他信息。


意见反馈


与往常一样,请随时以驴的形式在https://github.com/aspnet/AspNetCore上留下反馈。 这很重要!


译者注 :在Habré的评论中写点东西也很好。 这很重要!


不要忘记,从1月1日开始的DotNext门票价格会上涨。 个人-一千,标准-两千。 有关Early Bird的详细信息在网站上

Source: https://habr.com/ru/post/zh-CN433184/


All Articles