当动态文件位于bin目录中时,MSBuild将动态生成的文件作为项目依赖项的一部分包括在内

当动态文件位于bin目录中时,MSBuild将动态生成的文件作为项目依赖项的一部分包括在内,msbuild,Msbuild,一个扩展,但略有不同,而公认的答案不太适合这种情况 我们在项目的构建中已经有了一个过程,它正在生成一些额外的文件,这些文件(正确地)按照预期生成到/bin文件夹中。但是,当此项目作为依赖项引用时,它们不会被复制 在接受了上述问题的答案后(稍加调整),我设法让他们复制到Dependent项目,但是他们都被放入Dependent/bin文件夹(即/bin/bin)的/bin子文件夹中,这不是我需要的 我们正在运行的流程是一个第三方流程(特别是),因此我无法控制这一方面 我可以在依赖项目上做一些额外的

一个扩展,但略有不同,而公认的答案不太适合这种情况

我们在项目的构建中已经有了一个过程,它正在生成一些额外的文件,这些文件(正确地)按照预期生成到
/bin
文件夹中。但是,当此项目作为依赖项引用时,它们不会被复制

在接受了上述问题的答案后(稍加调整),我设法让他们复制到Dependent项目,但是他们都被放入Dependent
/bin
文件夹(即
/bin/bin
)的
/bin子文件夹中,这不是我需要的

我们正在运行的流程是一个第三方流程(特别是),因此我无法控制这一方面

我可以在依赖项目上做一些额外的事情,将它们从
/bin/bin
中移到更高的级别,但我更愿意按照我的预期进行原始项目工作

这是我使用的
ItemGroup
,源自另一个问题:

<ItemGroup>
  <Content Include="$(OutputPath)\**\*\*.xml">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Content>
</ItemGroup>
但在执行
Copy
任务时,它似乎会忽略它,并解析一个新的
TargetPath
。我还尝试了该项目组中的无数属性/项目类型组合(即无,EmbeddedResource),但它们也没有解决这个问题

理想情况下,我假设MSBuild需要将生成的文件标记为生成的程序集的一部分?但是在迷失在
.target
文件和MSDN文档中之后,我无法理解它


正在使用的MSBuild是12.0版,为.net4.5编译。

令人惊讶的是,没有人知道这个问题的答案。我在寻找一个和你一样的答案。
<ItemGroup>
  <Content Include="$(OutputPath)\**\*\*.xml" KeepMetadata="TargetPath">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    <TargetPath>..\</TargetPath>
  </Content>
</ItemGroup>