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

VS2022生成时System.Runtime程序集类型加载失败报错修复

Visual Studio 2022 生成错误修复方案

问题现象

  • 生成名为Garbo的项目时抛出未知生成错误:未能从程序集“System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中加载类型“System.Resources.NeutralResourcesLanguageAttribute”
  • 经排查确认,错误由项目引用的markdig.dll触发
  • 故障相关截图:
    markdig错误提示
    问题排查截图1
    问题排查截图2
  • 当前设备已安装的.NET Framework版本信息:
PSChildName                      Version
-----------                      -------
v2.0.50727                       2.0.50727.4927
v3.0                             3.0.30729.4926
Windows Communication Foundation 3.0.4506.4926
Windows Presentation Foundation  3.0.6920.4902
v3.5                             3.5.30729.4926
Client                           4.8.04161
Full                             4.8.04161
Client                           4.0.0.0

错误原因

该错误属于典型的跨框架引用适配问题:手动引用的markdig.dll是面向.NET Core/.NET 5+编译的版本,其依赖的System.Runtime 4.1.2.0和.NET Framework 4.x自带的System.Runtime程序集格式不兼容,对应类型无法被正常加载,最终触发生成失败。

修复步骤

按优先级从高到低选择以下方案操作即可:

  • 方案一(推荐,无兼容隐患):移除现有手动引用的markdig.dll,通过NuGet包管理器安装对应版本的Markdig包
    • 若项目目标框架为.NET Framework 4.6.1以下,选择安装Markdig 2.x及更早版本
    • 若项目目标框架为.NET Framework 4.6.1及以上,可直接安装最新稳定版Markdig,NuGet会自动安装所有适配依赖、生成对应程序集绑定重定向配置,无需手动修改配置文件
    • 安装完成后清理解决方案,重新生成即可
  • 方案二(需保留现有dll引用的场景):手动补全依赖与绑定配置
    1. 打开NuGet包管理器控制台,依次执行以下命令安装Markdig依赖的适配包:
      Install-Package System.Runtime.CompilerServices.Unsafe
      Install-Package System.Memory
      
    2. 打开项目配置文件(桌面项目为App.config,Web项目为Web.config),在<runtime>节点下添加如下绑定重定向配置:
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
        </dependentAssembly>
      </assemblyBinding>
      
    3. 删除项目下bin、obj目录的所有缓存文件后重新生成
  • 方案三(长期方案):如果项目没有强依赖.NET Framework的历史组件,可直接将项目目标框架升级为.NET 6/.NET 8等长期支持的现代.NET版本,高版本Markdig对现代.NET的原生适配更好,不会出现这类跨框架程序集加载错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:45:41