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

Windows Forms应用错误加载Class Library引用的程序集版本问题

问题根因
  1. 绑定重定向仅生效于启动项目配置:.NET Framework 中,CLR 只会读取启动项目(即你的 WinForms 程序)的exe.config,类库的app.config配置不会自动合并到启动项目的最终运行配置里——哪怕类库已经设置了正确的版本重定向。
  2. 自动绑定重定向的错误推断:由于你的 WinForms 项目未直接引用Microsoft.Extensions.Logging.Abstractions,Visual Studio 的自动绑定重定向功能在扫描依赖链时,错误判定需要将该程序集定向到 6.0.0.0 版本,且生成的错误重定向会覆盖你手动添加的配置,这也是之前手动添加重定向无效的核心原因。
  3. 版本不匹配导致加载失败:CLR 按照错误的重定向尝试加载 6.0.0.0 版本,但你的输出目录中只有类库带来的 7.0.0.0 版本,最终抛出程序集加载异常。
无需额外安装依赖的解决方法

方法1:强制手动绑定重定向+关闭自动生成

这是最直接的方案,核心是锁定正确的重定向配置,阻止 VS 自动生成错误内容:

  1. 打开 WinForms 项目的App.config,在<configuration>节点内添加以下配置:
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" 
                        publicKeyToken="adb9793829ddae60" 
                        culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" 
                       newVersion="7.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
  1. 关闭自动绑定重定向功能:
    • 右键 WinForms 项目 → 属性 → 生成 → 取消勾选「生成绑定重定向」;
    • 或直接编辑 WinForms 项目的.vbproj文件,添加/修改以下配置:
      <PropertyGroup>
        <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
        <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
      </PropertyGroup>
      
  2. 清理整个解决方案(删除所有bin和obj文件夹),重新生成项目。此时检查 WinForms 输出目录下的exe.config,应能看到你手动添加的正确重定向,不会再出现 6.0.0.0 的错误配置。

方法2:引导启动项目识别正确依赖版本

无需安装 NuGet 包,仅通过间接引用让 VS 生成正确的绑定重定向:

  1. 右键 WinForms 项目 → 添加 → 引用 → 浏览到类库的bin/Debug目录,选择Microsoft.Extensions.Logging.Abstractions.dll(7.0.0 版本)添加引用;
  2. 选中该引用,在属性窗口设置「复制本地」为True;
  3. 重新生成项目,VS 的自动绑定重定向功能会识别到该依赖,生成指向 7.0.0.0 的正确重定向。
验证方式

生成解决方案后,打开 WinForms 项目输出目录下的[你的程序名].exe.config,确认Microsoft.Extensions.Logging.Abstractions的绑定重定向指向 7.0.0.0,随后运行程序即可验证异常是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:57:21