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

.NET5 WebAPI项目启动报错:无法加载System.Runtime, Version=6.0.0.0

解决方案:.NET5项目加载.NET6 System.Runtime程序集失败

针对你遇到的问题,以下是针对性的排查和解决步骤:

  • 清理NuGet全局缓存
    缓存的.NET6相关包可能导致项目错误引用,执行以下命令清理:

    dotnet nuget locals all --clear
    

    清理完成后重新还原项目包:dotnet restore

  • 检查项目.runtimeconfig.json配置
    项目生成后会在输出目录生成该文件,打开后检查runtimeOptions节点:

    • 确认framework.name为Microsoft.NETCore.App,framework.version为.NET5的版本(如5.0.17)
    • 移除任何指向.NET6 SDK或运行时的additionalProbingPaths路径
  • 锁定.NET SDK版本
    在解决方案根目录创建或修改global.json文件,强制指定使用.NET5 SDK:

    {
      "sdk": {
        "version": "5.0.408",
        "rollForward": "disable"
      }
    }
    

    替换version为你安装的.NET5具体版本号

  • 修正绑定重定向配置
    打开项目的web.config,检查<runtime>节点下的<assemblyBinding>:

    • 如果存在针对System.Runtime的绑定重定向指向6.0.0.0,删除该配置或修改为5.0.0.0版本:
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
      </dependentAssembly>
      
  • 调整系统环境变量优先级
    打开系统环境变量的PATH:

    • 将.NET5的SDK路径(如C:\Program Files\dotnet\sdk\5.0.xxx)移至.NET6路径之前
    • 暂时移除.NET6的路径条目,测试项目是否能正常启动
  • 检查Visual Studio调试环境
    右键项目→属性→调试:

    • 查看“环境变量”区域,确认没有设置DOTNET_ROOT指向.NET6运行时
    • 若存在相关变量,删除或修改为.NET5的运行时路径

错误信息:无法加载文件或程序集'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'。系统找不到指定文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:33:18