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

MS Build复制文件到输出目录时如何保留Translations文件夹结构?

问题原因

你当前的配置直接输出文件到bin根目录,是因为MSBuild默认会使用Content项相对于当前项目目录的相对路径作为输出路径,你引入的Translations目录位于项目上级目录,路径计算时丢失了Translations层级结构。

解决方案

方法1:通用方案(兼容所有类型的MSBuild项目)

手动指定Link属性映射输出路径:

<ItemGroup>
  <Content Include="$(ProjectDir)..\Translations\**\*.*">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    <Link>Translations\%(RecursiveDir)%(Filename)%(Extension)</Link>
  </Content>
</ItemGroup>

参数说明:

  • %(RecursiveDir) 是通配符**匹配到的子目录路径,配合前面的Translations\前缀,就能完整保留Translations根目录以及内部所有子目录的结构。

方法2:SDK风格项目简化方案(适用于.NET Core/.NET 5+等SDK格式的项目)

使用更简洁的LinkBase属性:

<ItemGroup>
  <Content Include="$(ProjectDir)..\Translations\**\*.*" 
           LinkBase="Translations"
           CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

LinkBase会自动将指定目录作为所有匹配文件的输出根目录,无需手动拼接路径参数。

修改完成后重新生成项目,即可在输出目录下看到完整的Translations目录结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:54:03