重磅!!!微软发布ASP.NET Core 2.2,先睹为快。
我很高兴地宣布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(今天也可用)包含.NET Core SDK 2.2.100作为可选组件。
新特性
此ASP.NET Core版本的主旨是在构建Web / HTTP API方面提高开发人员的工作效率和平台功能,详情请参考:
- 与流行的Open API(Swagger)库更好地集成,包括使用代码分析器进行设计时检查
- 引入端点路由,在MVC中提高了20%的路由性能
- 使用LinkGenerator类改进URL生成并支持 路由参数变换器 (以及来自Scott Hanselman的帖子)
- 用于应用程序运行状况监视的New Health Checks API
- 由于进程内托管支持,IIS上的吞吐量提高了400%
- 高达15%的MVC模型验证性能得到改善
- 问题详细信息(RFC 7807)支持MVC以获取详细的API错误结果
- 在ASP.NET Core中预览HTTP / 2服务器支持
- Bootstrap 4和Angular 6的模板更新
- ASP.NET Core SignalR的Java客户端
- Linux上的HTTP客户端性能提高了60%,Windows上提高了20%
Health Checks集成到BeatPulse项目
我们很高兴地宣布,BeatPulse项目现在支持新的Health Checks API,这意味着您可以使用他们,轻松添加对数十种流行系统和依赖项的检查。以下是BeatPulse团队关于他们对新的Health Checks API的支持的消息:
BeatPulse是一个社区驱动的项目,旨在为系统,网络和企业中常见的各种服务提供健康检查机制,例如SqlServer,MySql,Postgress,Redis,Kafka等等。当微软宣布推出针对2.2路线图的ASP.NET核心健康检查时,BeatPulse团队移植了所有现有的活动包和功能,以便在存储库AspNetCore.Diagnostics.HealthChecks中使用新的Microsoft Health Checks抽象。除了所有健康检查包之外,BeatPulse团队还结合了其他功能,如脉冲跟踪(Application Insights和Prometheus),我们可以为故障通知和UI界面配置不同的监控系统,并具有一个可以查看健康状态的全局概览图表。目前此UI的Docker镜像已经发布到Docker Hub。
即将推出
当我们宣布规划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是目前.NET Core系列中的最新版本。这是自2.1 LTS宣布重新建立单独的LTS以来的首次发布,也是2.x生命周期中的最后一次非服务版本,包括一些新功能、增强功能和常规的错误修复,推荐大家使用。
请注意,LTS和当前版本都会收到安全性和关键稳定性修复的服务更新。
在此处阅读有关.NET Core支持策略的更多信息。
Azure App Service中的可用性
.NET Core 2.2 SDK,运行时和更新的ASP.NET核心IIS模块正在部署到全球的Azure App Service区域。我们预计这将在2018年12月底之前完成。
某些区域可能会在更新的ASP.NET核心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记录问题向我们提供反馈 。我们期待您的回音!
重磅!!!微软发布ASP.NET Core 2.2,先睹为快。的更多相关文章
- 微软推出ASP.NET Core 2.0,并支持更新Visual Studio 2017
微软推出ASP.NET Core 2.0的一般可用性,并发布.NET Core 2.0.该公司还推出了其旗舰集成开发环境(IDE)的更新:Visual Studio 2017版本15.3和Visual ...
- docker 初识之二(简单发布ASP.NET Core 网站)
在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...
- 微软发布ASP.NET 5路线图
这次随 Visual Studio 2015 发布的 ASP.NET 版本是 ASP.NET 4.6 与 ASP.NET 5 beta5.在 VS2015 发布的同时,微软也发布了 ASP.NET 5 ...
- ubuntu下发布asp.net core并用nginx代理之旅
asp.net core 1.0.1发布已有些日子了,怀着好奇的心情体验了把ubuntu下的asp.net core 系统运行环境:ubuntu 16.0.4 for developer 首先搭建.n ...
- 使用vs中的发布功能发布asp.net core项目时遇到ERROR_CERTIFICATE_VALIDATION_FAILED错误
今天将VS2015编制的一个asp.net core项目发布到服务器进行测试,使用的是vs中主菜单"生成"中的"发布"功能. 遇到了一个错误,在网上反复检索尝试 ...
- 发布 ASP.NET Core 2.x 应用到 Ubuntu
简单绍一下如何将ASP.NET Core 应用发布到Linux (Ubuntu)服务器上,都是文档的东西. 服务器结构 ASP.NET Core 2.x 有两种server: HTTP.sys 只支持 ...
- docker 安装jenkins 发布 asp.net core 2.0
安装Docker 其实安装Docker的过程,大家可以到Docker官网找到自己相对应的安装文档进行安装,Docker区分CE和EE的两个版本,具体这两个版本有什么区别,大家自行查阅相关资料,这里不再 ...
- Techempower web框架性能测试第21轮结果发布--asp.net core继续前进
废话不说,直接上结果: Round 21 results - TechEmpower Framework Benchmarks Techempower benchmark是包含范围最广泛的web框架性 ...
- 发布ASP.NET Core程序到Linux生产环境
原文翻译:Publish to a Linux Production Environment 作者:Sourabh Shirhatti 在这篇文章里我们将介绍如何在 Ubuntu 14.04 Serv ...
随机推荐
- 简单剖析Node中的事件监听机制(一)
使用js的class类简单的实现一个事件监听机制,不同于浏览器中的时间绑定与监听,类似于node中的时间监听,并且会在接下来的文章中去根据自己的理解去写一下Event模块中的原理. Node.js使用 ...
- python都能做什么
一.python: Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起.常见的一种应用情形是,使用Python快速生成程序的原型 ...
- python笔记:#013#高级变量类型
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- 利用css实现hover动态效果
.font em:hover { font-size: 2em } .font strong:hover { font-weight: normal } .font span:hover { colo ...
- C++ 模板基础
我们学习使用C++,肯定都要了解模板这个概念.就我自己的理解,模板其实就是为复用而生,模板就是实现代码复用机制的一种工具,它可以实现类型参数化,即把类型定义为参数:进而实现了真正的代码可重用性.模版可 ...
- PAT1077: Kuchiguse
1077. Kuchiguse (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming The Japan ...
- Git的思想和基本工作原理2
那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 Git 的时候,请不要尝试把各种概 ...
- sniffer 软件的使用方法
一.捕获数据包前的准备工作 在默认情况下,sniffer将捕获其接入碰撞域中流经的所有数据包,但在某些场景下,有些数据包可能不是我们所需要的,为了快速定位网络问题所在,有必要对所要捕获的数据包作过滤. ...
- select case when与IF的用法
case when概述 sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作. case when示例 有一张表,里面有3 ...
- Stack编程队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 首先定义两个栈 Stack<Integer> stack1 = new Stack<I ...