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

已安装托管包仍遇HTTP Error 500.31:ASP.NET Core运行时加载失败

解决ASP.NET Core 7迁移后生产环境HTTP Error 500.31的问题

1. 核对应用的目标框架与依赖版本

  • 打开项目的.csproj文件,确认<TargetFramework>字段设置为net7.0,无版本误写情况。
  • 查看发布目录下的{项目名}.runtimeconfig.json文件,定位Microsoft.AspNetCore.App的指定版本号,示例如下:
    "Microsoft.AspNetCore.App": {
      "version": "7.0.10"
    }
    

2. 修复.NET 7 Hosting Bundle安装

  • 卸载服务器上现有.NET 7 Hosting Bundle,重新下载最新版安装包并执行安装,选择「修复」选项。
  • 安装完成后,执行命令iisreset重启IIS,确保ASP.NET Core Module V2正常加载。

3. 检查IIS站点的ASP.NET Core配置

  • 打开IIS管理器,进入目标站点的「配置编辑器」,定位到system.webServer/aspNetCore节点:
    • 确认processPath设置为dotnet(或完整路径C:\Program Files\dotnet\dotnet.exe),arguments指向你的API程序集(如.\YourApi.dll)。
    • 将stdoutLogEnabled设为true,指定stdoutLogFile路径(如.\logs\stdout),重启站点后查看日志文件,获取更精准的错误细节。

4. 匹配服务器运行时版本

  • 在服务器执行命令dotnet --list-runtimes,查看输出中Microsoft.AspNetCore.App的版本,确保与runtimeconfig.json中的版本完全一致。
  • 若版本不匹配,可选择以下任一方案:
    • 安装对应版本的ASP.NET Core Runtime;
    • 在.csproj中添加<RollForward>LatestMinor</RollForward>,允许使用同主版本的最新次版本运行时;
    • 修改<RuntimeFrameworkVersion>指定服务器已安装的精确版本。

5. 确认应用发布模式

  • 若使用自包含部署,发布时需勾选「包含运行时」,生成的发布包会自带所有必要的.NET运行时文件,无需依赖服务器全局安装的版本。
  • 若使用框架依赖部署,必须保证服务器上存在匹配的运行时环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:42:17