调试代码遇System.TypeLoadException异常,跨设备运行正常求解决
解决System.TypeLoadException加载类型失败的建议
核对程序集版本与依赖一致性
另一台机器运行正常说明代码逻辑无问题,优先检查本地项目依赖的Core程序集版本:右键项目→管理NuGet程序包,确认Core包版本和正常运行机器完全一致;同时打开项目的.csproj文件,检查<PackageReference>节点里的版本号是否存在冲突。清理本地编译缓存
VS编译缓存残留可能导致旧版本程序集干扰:- 右键解决方案→清理解决方案
- 删除项目目录下的
bin和obj文件夹 - 重启VS后重新生成整个解决方案
检查程序集绑定重定向配置
多依赖场景下可能出现版本绑定冲突,打开app.config或web.config,查看<runtime>节点下的<assemblyBinding>配置,确保Core程序集的重定向规则正确,示例配置如下:<dependentAssembly> <assemblyIdentity name="Core" publicKeyToken="null" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" /> </dependentAssembly>若缺少该配置,尝试添加后重新运行项目。
排查全局程序集缓存(GAC)
本地GAC中可能存在同名但版本不符的Core程序集,导致加载异常:- 以管理员权限打开命令提示符
- 执行
gacutil /l Core查看GAC中是否存在该程序集 - 若存在,执行
gacutil /u Core,Version=1.0.0.0,Culture=neutral卸载,之后重新部署项目的Core程序集
验证VS目标框架设置
右键项目→属性→应用程序,确认目标框架版本与正常机器的VS设置一致(比如同为.NET Framework 4.7.2或.NET 6),不同框架版本可能引发程序集加载兼容问题。检查程序集复制本地属性
右键项目引用的Core程序集→属性,确保复制本地设置为True,这样编译时程序集会被复制到输出目录,避免运行时找不到的情况。
内容的提问来源于stack exchange,提问作者AriannaM.
相关产品推荐
相关产品推荐

