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

.NET 7中如何覆盖或禁用隐式导入的程序集?

解决.NET 7中自定义System.Configuration.dll覆盖标准程序集的编译冲突问题

针对你遇到的CS1703错误(多个等效标识程序集冲突),可以通过以下简洁方案解决,无需PostBuildEvent:

  • 强制优先使用自定义程序集:在项目的.csproj文件中添加对自定义System.Configuration.dll的引用,并设置<Force>true</Force>属性,强制编译器忽略隐式引入的标准版本,优先使用你的自定义程序集。

    示例配置(替换HintPath为你的自定义程序集实际路径):

    <ItemGroup>
      <Reference Include="System.Configuration">
        <HintPath>./libs/System.Configuration.dll</HintPath>
        <Force>true</Force>
        <Private>true</Private>
      </Reference>
    </ItemGroup>
    

    注意:如果你的自定义程序集有特定版本号或公钥令牌,需要在Include中明确指定完整标识(比如System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a),确保与标准程序集的标识完全匹配。

  • 排除隐式框架引用中的标准程序集:如果上述方法仍存在冲突,可以进一步排除框架隐式引入的System.Configuration:

    <ItemGroup>
      <FrameworkReference Update="Microsoft.NETCore.App">
        <ExcludeAssets>System.Configuration</ExcludeAssets>
      </FrameworkReference>
    </ItemGroup>
    

两种方案组合使用,基本可以解决编译阶段的程序集冲突问题,让.NET 7项目优先加载你的自定义System.Configuration.dll。

内容的提问来源于stack exchange,提问作者François Lemaire

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:55:20