You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至.NET 7后运行报错:无法加载ASP.NET Core运行时

问题描述

将.NET Core 2.1应用升级至.NET 7后,编译构建成功,但运行时抛出以下错误(已安装.NET 7.0.11):

HTTP Error 500.31 - Failed to load ASP.NET Core runtime
Common solutions to this issue:
The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
Specific error detected by ANCM:
You must install or update .NET to run this application. App: {path}\bin\Debug\net7.0{appname}.Web.dll Architecture: x64 Framework: 'Microsoft.NETCore.App', version '7.0.11' (x64) .NET location: C:\Program Files\dotnet\ The following frameworks were found: 2.1.30 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 3.1.21 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 5.0.12 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 5.0.14 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 6.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 6.0.14 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 6.0.21 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 7.0.10 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Learn about framework resolution: https://aka.ms/dotnet/app-launch-failed To install missing framework, download: https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=7.0.11&arch=x64&rid=win10-x64
Troubleshooting steps:

解决方法
  • 确认.NET 7.0.11安装状态
    打开命令提示符或PowerShell,执行 dotnet --list-runtimes,查看输出是否包含Microsoft.NETCore.App 7.0.11 [x64]。如果没有,说明安装未成功,重新下载对应x64版本的.NET 7.0.11运行时安装包执行安装。

  • 修复.NET安装
    若确认已安装但列表未显示,执行 dotnet --repair 命令,该命令会自动检测并修复损坏或缺失的运行时组件。

  • 调整项目框架依赖配置
    打开项目的.csproj文件,确认<TargetFramework>为net7.0。如果存在<RuntimeFrameworkVersion>指定了7.0.11,可移除该节点,让应用自动适配已安装的最高兼容7.0版本(如7.0.10)。

  • 使用自包含部署模式发布
    若不想依赖系统运行时,修改.csproj添加以下配置:

    <PublishSingleFile>true</PublishSingleFile>
    <SelfContained>true</SelfContained>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    

    然后执行发布命令 dotnet publish -c Release -r win-x64,发布包会包含.NET 7.0.11运行时,无需系统提前安装。

  • 检查IIS应用池架构
    确保IIS应用池的架构设置为x64,若应用池是x86,会优先查找x86版本的.NET运行时,导致无法找到x64的7.0.11。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:42:47