使用XCopy的MSBuild不起作用

时间:2014-10-03 03:34:10

标签: visual-studio-2012 msbuild

我正在使用msbuild,并且有一个post build步骤,可以动态生成JavaScript文件。 我想确保在msbuild完成后,这个文件随之而来。此文件不在源代码管理中。

每当我从visual studio 2012开始构建时,文件都会与构建服务器上的其他内容一起生成,但永远不会在Web服务器上结束。我尝试使用xcopy将它推送到二十几个地方,例如二进制文件/ _publishedSites或/ bin以及我能想到的一切(最多5个不同的位置),但它似乎都忽略了它,它永远不会在目标服务器上结束。 / p>

我需要将特定文件夹复制到我的文件中以确保msbuild选择它吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

生成文件后,需要将该文件添加到@(内容)项目数组中。这需要在目标中完成,而不是静态地完成,因为在处理静态项时项不会存在。生成文件的目标也需要在Web打包步骤之前发生,而不是在构建完成之后发生。

<Target Name="GenerateFiles"
  BeforeTargets="Build">
  ... create the file named generated.js
  <ItemGroup>
    <Content Include="./path/to/generated.js">
      <CopyTo... />
    </Content>
  </ItemGroup>
</Target>