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

.NET 8.0升级后无法加载文件或程序集问题求助

.NET 8升级后System.Runtime加载错误的解决方法

错误含义解析

这个错误的核心是:程序尝试加载仅用于编译阶段引用的程序集(而非可执行的运行时程序集)来执行代码。.NET Framework与.NET 8的程序集加载机制存在本质差异,升级过程中残留的绑定重定向、无效引用或依赖冲突会触发该问题。

分步解决方案

  • 清理深层缓存

    • 执行命令清除NuGet全局缓存:dotnet nuget locals all --clear
    • 关闭Visual Studio,删除项目根目录下的.vs隐藏文件夹,同时删除bin/obj目录
    • 重新打开项目并执行完整重建
  • 修复项目文件引用

    • 卸载项目,编辑.csproj文件:
      • 删除所有对System.Runtime的直接引用条目(.NET 8中该组件是框架核心,无需手动引用)
      • 移除所有旧的.NET Framework风格<Reference>节点,替换为对应NuGet包引用(第三方库)或直接删除无效引用
  • 清理配置文件

    • 删除项目中的App.config文件(.NET 8类库无需此文件,绑定重定向由框架自动处理)
    • 若为应用程序项目,检查Program.cs或自定义加载逻辑,确保没有强制加载旧版本System.Runtime的代码
  • 升级依赖包兼容性

    • 执行dotnet list package --outdated查看过时依赖,将所有NuGet包升级至.NET 8兼容的最新版本
    • 排查第三方依赖:若存在仅支持.NET Framework的库,替换为.NET Standard/.NET 8兼容版本
  • 强制生成正确的绑定信息

    • 在.csproj的<PropertyGroup>节点中添加以下配置:
      <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
      <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
      
    • 重建项目后,检查输出目录的.deps.json文件,确认System.Runtime对应的是.NET 8版本(而非4.2.2.0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:37:12