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

如何解决ASP.NET Core迁移中的NETSDK1022重复Content项错误?

解决ASP.NET Core 6.0迁移后Azure DevOps构建NETSDK1022重复项错误

问题原因

该错误源于间接依赖的harfbuzzsharp.nativeassets.win32包在Azure DevOps构建过程中重复注入了libHarfBuzzSharp.dll文件,本地构建与流水线构建的打包逻辑差异触发了重复项检查错误。

可行解决方法

  • 方法1:项目文件中排除重复Content项
    在项目的.csproj文件中添加以下配置,强制移除重复文件的Content标记,避免打包冲突:

    <ItemGroup>
      <Content Remove="**/libHarfBuzzSharp.dll" />
      <None Include="**/libHarfBuzzSharp.dll" />
    </ItemGroup>
    
  • 方法2:排查并更新间接依赖包
    先通过命令找出引入harfbuzzsharp.nativeassets.win32的上游依赖:

    dotnet list package --include-transitive
    

    找到对应的依赖包后,更新至兼容ASP.NET Core 6.0的最新稳定版本,多数情况下旧依赖的打包逻辑问题会随版本更新解决。

  • 方法3:调整Azure DevOps构建参数(临时规避)
    在流水线的dotnet build或dotnet publish任务的Arguments中添加以下参数,禁用重复输出文件的错误检查:

    /p:ErrorOnDuplicatePublishOutputFiles=false
    

    注意:此方法仅为临时方案,建议优先从根源解决问题。

  • 方法4:清理Azure DevOps构建缓存
    在流水线的Get Sources步骤中,勾选Clean选项并设置为All build directories,强制每次构建重新拉取依赖与资源,避免缓存残留的旧文件导致重复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 07:12:32