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

升级.NET目标框架至4.6/4.7.2后缺失System.Runtime引用报错求助

问题原因

该报错是升级.NET Framework版本后,项目依赖的第三方组件(比如你用到的12.0版本Newtonsoft.Json或其他基于.NET Standard实现的库)依赖System.Runtime 4.0.0.0门面程序集,但传统.NET Framework Web项目默认不会在编译配置中自动添加该程序集的引用,导致运行时编译代码/视图时找不到对应基础类型。

解决方案

步骤1:修正web.config版本一致性

你升级到4.7.2时,httpRuntime的targetFramework要和compilation节点版本统一,避免版本适配冲突:

<httpRuntime targetFramework="4.7.2" maxRequestLength="1024000" executionTimeout="150000"/>
<compilation targetFramework="4.7.2" debug="true">

步骤2:添加System.Runtime编译引用

在compilation节点下新增assemblies子节点,手动注册System.Runtime程序集:

<compilation targetFramework="4.7.2" debug="true">
  <assemblies>
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </assemblies>
</compilation>

步骤3:清理缓存重新编译

  • 关闭Visual Studio
  • 删除项目根目录下的obj、bin文件夹
  • 删除C:\Users\[你的系统用户名]\AppData\Local\Temp\Temporary ASP.NET Files路径下对应项目的缓存目录
  • 重新打开Visual Studio,还原NuGet包后重新编译运行

补充验证项

如果仍有报错,手动添加项目级引用:

  • 右键项目→引用→添加引用→程序集→框架→找到System.Runtime勾选确认
  • 选中引用的System.Runtime,在属性面板将「复制本地」设置为False,.NET Framework 4.6+已经内置该程序集,不需要随项目发布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:48:00