官方迁移文档:https://docs.microsoft.com/zh-cn/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio

系统必备

根据官方文档升级对应工具

更新目标框架名字对象 (TFM)

就是在项目属性中修改目标框架为.Net Core 2.2

采用的 IIS 进程内承载模型

右键项目选择编辑XXXX.csproj,在文档描述的对应位置添加

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

更新自定义 web.config 文件

如果项目中根目录中没有这个文件即可忽略这一步。

更新包引用

同样编辑XXXX.csproj,在文档描述的对应位置添加

<PackageReference Include="Microsoft.AspNetCore.App" />

删除所有 <PackageReference Include="Microsoft.XXXX" Version="XXX" />

比如这些

  <PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.CookiePolicy" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.HttpsPolicy" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />

都需要删除,因为新版本的Microsoft.AspNetCore.App已经包含这些

重新编译项目时IDE会自动下载对应的引用包

更新 Kestrel 配置

这一步是我遇到的最大的坑!!!官网给的Demo我试了有问题,如果原来项目Program类中有UseIISIntegration() ,则需要替换成UseIIS() ,不然会有启动错误。

意外的在ocelot文档Demo中找到了解决方案!!

**Note:** When using ASP.NET Core 2.2 and you want to use In-Process hosting, replace **.UseIISIntegration()** with **.UseIIS()**, otherwise you'll get startup errors.

总结

剩下的根据官方文档根据各自的项目做对应的修改,我自己遇到的两个问题已经写在上面了,一是更新包引用,二是更新Kestrel配置

如果还有问题请参考官方文档

https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot?view=aspnetcore-2.2

https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/azure-iis-errors-reference?view=aspnetcore-2.2

本文链接:https://www.cnblogs.com/smartstar/p/10898116.html

从 ASP.NET Core 2.1 迁移到 2.2 踩坑总结的更多相关文章

  1. ASP.Net Core Web Api 使用 IdentityServer4 最新版 踩坑记录

    辅助工具 日志追踪包 : Serilog.AspNetCore 源码查看工具 : ILSpy 项目环境 ###: ASP.NetCore 3.1 IdentityServer4 4.0.0+ 主题内容 ...

  2. ASP.NET Core 2.2 迁移至 3.0 备忘录

    将 ASP.NET Core 2.2 迁移至 ASP.NET Core 3.0 需要注意的地方记录在这篇随笔中. TargetFramework 改为 netcoreapp3.0 <Target ...

  3. ASP.NET Core 3.0 迁移避坑指南

    一.前言 .NET Core 3.0将会在 .NET Conf 大会上正式发布,截止今日发布了9个预览版,改动也是不少,由于没有持续关注,今天将前面开源的动态WebApi项目迁移到.NET Core ...

  4. Asp.Net Core中使用Swagger,你不得不踩的坑

    很久不来写blog了,换了新工作后很累,很忙.每天常态化加班到21点,偶尔还会到凌晨,加班很累,但这段时间,也确实学到了不少知识,今天这篇文章和大家分享一下:Asp.Net Core中使用Swagge ...

  5. 从 ASP.NET Core 3.1 迁移到 5.0

    3月中旬,微软官方已经发布了dotnet 5的第一个预览版:5.0.0-preview.1. dotnet core经过前几个版本的发展和沉淀,到3.1已经基本趋于稳定. 所以从.net core 3 ...

  6. Asp.Net Core 轻松学-HttpClient的演进和避坑

    前言     在 Asp.Net Core 1.0 时代,由于设计上的问题, HttpClient 给开发者带来了无尽的困扰,用 Asp.Net Core 开发团队的话来说就是:我们注意到,HttpC ...

  7. netfromwork4.5 迁移到netcore 遇到踩坑

    https://weblogs.asp.net/ricardoperes/using-mef-in-net-core 可以用https://www.bbsmax.com/A/xl56bpv45r/ 里 ...

  8. Asp.net Core 2.0+EntityFrameWorkCore 2.0添加数据迁移

    Asp.net Core 由于依赖注入的广泛使用,配置数据迁移,与Asp.net大不相同,本篇介绍一下Asp.net Core添加数据迁移的过程 添加Nuget包 Install-Package Mi ...

  9. ASP.NET Core 2.x 到 3.1 迁移指南

    一.前言 今日(2019/12/4).NET Core 3.1 正式发布了,ASP.NET Core 3.1 随之发布,这次 3.0 到 3.1经过了两个月的短周期,并没有增加重大的功能,主要是对 3 ...

随机推荐

  1. 002-05-RestTemplate 使用常见问题-非200请求捕获

    一.概述 1.1.RestTemplate报错时时获取不到错误信息 捕获异常后 try { result = restTemplate.postForEntity(faceConfig.getApiU ...

  2. [redis]带密码的客户端连接方法

    客户端连接方法: redis-cli -h localhost -p 6380 提供host为localhost,端口为6380   带密码的客户端连接方法一: redis-cli -h localh ...

  3. flutter中的listview的使用

    import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends Statele ...

  4. Qt编写气体安全管理系统25-位置调整

    一.前言 位置调整功能,以前是直接写在设备按钮这个自定义控件类中,核心就是安装事件过滤器,识别鼠标按下.鼠标移动.鼠标松开,这三个event,做出相应的处理即可,后面发现这个功能其实很多自定义控件或者 ...

  5. Linux记录-Shell自动化部署批量建立用户和批量SSH配置(转载)

    if [ ! $# -eq 2 ] ; then echo "请输入用户名和密码以空格分开!" exit else name="$1" passwd=" ...

  6. sklearn简单线性回归

    from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_ ...

  7. web端自动化——selenium测试报告生成、找到测试报告路径、实现发邮件(整合)

    有这样的一个场景: 假设生成的测试报告与多人相关,每个人都去测试服务器査看就会比较麻烦,如果把这种主动的且不及时的査看变成被动且及时的査收,就方便多了. 整个程序的执行过程可以分为三个步骤: ①    ...

  8. QT学习之usb摄像头采集(Opencv+QT)[cvCapture,IplImage,QImage]

    参考自:http://blog.chinaunix.net/uid-23381466-id-3826748.html 将Opencv中的cvCaptureFromCAM不断获得摄像头采集到的图像数据, ...

  9. PHP中NULL和‘'的区别

    PHP中NULL和‘'区别 null的类型是null,""的类型是string 所以是不同东西 <pre>$a=22;unset($a);var_dump($a);&l ...

  10. UN Report: Last 10 Years Likely the Hottest Decade on Record——VOA慢速英语

    听力地址:UN Report: Last 10 Years Likely the Hottest Decade on Record 中英对照:联合国报告称过去十年可能是有记录以来最热的十年 Words ...