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

如何解决MSBuild复制Chrome相关dll到bin目录不保留原有路径的问题

解决方案

问题原因

MSBuild 默认会自动扫描项目目录下所有 .dll 文件,将其识别为项目依赖的程序集,触发默认的根输出目录复制逻辑。你原来的 <None> 配置仅新增了复制到 chrome-win 目录的规则,没有屏蔽默认的程序集处理逻辑,因此会出现重复复制、发布路径错乱的问题。

修复步骤

  1. 删除你原有 csproj 中的 <None Update="chrome-win\**" ... /> 配置行
  2. 添加如下配置到 csproj 的 <Project> 节点下:
<ItemGroup>
  <!-- 屏蔽Chrome目录下dll的默认程序集复制逻辑,避免复制到根输出目录 -->
  <ReferenceCopyLocalPaths Remove="chrome-win\**\*.dll" />
  <ResolvedFileToPublish Remove="chrome-win\**\*.dll" />
  <!-- 统一配置Chrome目录所有文件的复制规则 -->
  <Content Include="chrome-win\**" 
           CopyToOutputDirectory="PreserveNewest" 
           CopyToPublishDirectory="Always" 
           LinkBase="chrome-win\" />
</ItemGroup>

验证操作

配置完成后,先完全清理项目的 bin、obj 目录,再重新执行编译、发布操作即可:

  • 编译时所有 Chrome 相关文件都会输出到 bin\$(Configuration)\$(TargetFramework)\chrome-win\ 目录下,不会在根bin目录生成冗余dll
  • 发布时所有 Chrome 相关文件都会输出到发布目录的 chrome-win\ 子目录下,不会出现 bin\chrome-win 这种错误路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:57:00