You need to enable JavaScript to run this app. VS2019 16.9安装.NET Core 5.0后运行ASP.NET Core 3.1应用报错
优惠活动
大模型
产品
解决方案
定价
更多

VS2019 16.9安装.NET Core 5.0后运行ASP.NET Core 3.1应用报错

问题核心原因

VS 2019 16.9版本的.NET Core项目加载逻辑,会自动优先匹配系统内安装的最高版本.NET Core SDK(即你新装的5.0 SDK)关联项目运行参数,哪怕项目目标框架为3.1,也会向IIS Express传入和3.1不兼容的运行时加载参数,最终触发进程异常退出,退出码-1。删除.vs文件夹仅能清理VS本地项目缓存,无法覆盖全局SDK匹配逻辑和IIS Express全局配置缓存,因此无法解决该问题。

分步操作方案
  • 第一步:在解决方案根目录(存放.sln文件的文件夹)创建global.json文件,强制锁定SDK使用版本,避免自动跳转5.0 SDK。文件内容参考如下:
{
  "sdk": {
    "version": "本地安装的3.1SDK完整版本号",
    "rollForward": "major"
  }
}

版本号获取方式:在命令提示符执行dotnet --list-sdks,从输出列表中找到本地安装的3.1系列SDK完整版本号(如3.1.327)填入对应位置。配置的作用是强制使用3.x主版本系列的SDK运行项目,只会在3.x的小版本、补丁版本中自动匹配最新可用版本,不会跨主版本加载5.0的SDK。注意:配置文件保存后,重启VS打开解决方案时,如果弹出SDK版本升级提示,直接选择忽略即可,避免VS自动修改全局SDK版本配置。

  • 第二步:调整项目调试配置,规避VS 16.9与IIS Express的已知兼容性bug。
    打开项目属性页,切换到调试标签页,取消「启用编辑并继续」选项的勾选;同时核对项目绑定的http/https端口,和之前正常运行的端口保持一致,不要使用VS自动分配的未在IIS Express端口白名单内的新端口。
  • 第三步:清理IIS Express全局缓存配置。
    打开系统资源管理器,定位到C:\Users\你的用户名\Documents\IISExpress\config路径,备份并删除该路径下的applicationhost.config文件,重启VS后让IIS Express重新生成干净的配置文件,清除和5.0 SDK关联的旧运行参数。
  • 第四步:验证启动链路。
    配置完成后,先选择“项目”启动模式(非IIS Express模式)运行一次应用,确认3.1目标框架的应用能正常加载运行,无SDK版本不匹配的报错,再切回IIS Express模式启动验证。

内容的提问来源于stack exchange,提问作者Yaduraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 08:15:05