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

.NET Framework从4.6.1迁移至4.7.2后出现运行时错误求助

.NET Framework 4.6.1升级到4.7.2后System.Runtime.InteropServices.RuntimeInformation找不到的问题解决及迁移步骤

问题原因

System.Runtime.InteropServices.RuntimeInformation在.NET Framework 4.7及以上版本中是系统内置程序集,无需通过NuGet包引入。你的项目此前因4.6.1不内置该程序集而安装了对应NuGet包,升级到4.7.2后,NuGet包的4.0.2.0版本与系统内置的4.0.0.0版本产生冲突,导致运行时无法找到指定版本的程序集。

解决方案

  1. 移除冲突的NuGet包
    在Package Manager Console中执行以下命令,强制卸载该NuGet包:
Uninstall-Package System.Runtime.InteropServices.RuntimeInformation -Force
  1. 修复web.config中的程序集绑定重定向
    打开web.config,找到<runtime>节点下的<assemblyBinding>,添加或修正针对该程序集的绑定重定向,将旧版本指向系统内置的4.0.0.0版本:
<dependentAssembly>
    <assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.0.0" />
</dependentAssembly>

若已存在该重定向条目,检查版本号是否正确,确保newVersion为4.0.0.0。

  1. 清理并重新生成项目
  • 删除项目目录下的bin和obj文件夹
  • 在Visual Studio中执行Build -> Clean Solution
  • 重新生成解决方案(Build -> Rebuild Solution)
  1. 验证项目引用
    检查项目引用中的System.Runtime.InteropServices.RuntimeInformation,确保其路径指向.NET Framework 4.7.2的系统引用路径(通常为C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.Runtime.InteropServices.RuntimeInformation.dll),如果是NuGet包引用,直接移除后重新添加系统引用。

迁移至.NET Framework 4.7.2的额外步骤

除你已执行的操作,还需完成以下步骤:

  • 更新httpRuntime节点的targetFramework:在web.config中找到<httpRuntime>节点,添加或修改targetFramework="4.7.2",完整节点示例:
    <httpRuntime targetFramework="4.7.2" />
    
  • 检查NuGet包兼容性:逐一确认项目中所有NuGet包是否支持.NET Framework 4.7.2,对不兼容的旧包,升级到对应支持版本(不要仅执行Update-Package -Reinstall,需主动升级版本)。
  • 适配框架行为变化:.NET Framework 4.7.x对加密、异步操作、身份验证等功能有行为调整,需测试项目核心功能(比如你的Azure Key Vault访问逻辑),确保适配新框架特性。
  • 清理冗余配置:移除web.config中针对旧框架的冗余配置,比如旧版本的程序集绑定重定向、过时的appSettings条目。
  • 验证发布配置:检查项目的发布配置(右键项目 -> 发布),确保发布时正确复制依赖文件,未遗漏系统内置程序集的引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 16:02:49