在MSBuild中,我可以使用Copy
任务将文件从一个位置复制到另一个位置。
我还可以使用SkipUnchangedFiles
属性指定如果文件没有更改则不应复制这些文件。
是否存在一个标准模式,用于在复制一个或多个文件的情况下预测后续操作?
例如:
另一个复杂因素是我使用CreateItem
任务动态生成输入文件列表:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="CopyAndRun">
<Target Name="CopyAndRun">
<CreateItem Include="In\**\*Test*.txt">
<Output TaskParameter="Include" ItemName="SourceFiles"/>
</CreateItem>
<Copy SourceFiles="%(SourceFiles.Identity)" DestinationFolder="Out\%(RecursiveDir)" SkipUnchangedFiles="true" />
<!-- Only want to execute this if updated files were copied -->
<Message Text="Running..." />
</Target>
</Project>
答案 0 :(得分:9)
您可以使用MSBuild开箱即用的incremental building来实现此目的。
Sayed Ibrahim Hashimi
我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build