作为构建过程的一部分..我想阻止构建,直到文件在ftp位置远程创建(存在),之后我将继续构建。 (最好有一些超时限制)。
建议?
这是否仅使用标准的msbuild任务和/或extensionPack / communitytask?
答案 0 :(得分:1)
你最好的办法是建立一个小的自定义exe(你甚至可以编译它作为构建步骤)来轮询你正在寻找的文件。然后在预构建步骤中使用PreBuild目标或自定义目标来验证该文件是否存在。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="WaitOnFTP">
<Exec Command="MyFTPWaiter.exe"/>
</Target>
</Project>
其他更多面向MSBuild的建议是将该exe重命名为自定义任务,甚至是MSBuild 4.0中的内联任务。
FWIW,我遇到了一个类似的解决方案,这个解决方案不需要版本控制中的集成测试所使用的大型二进制文件,他需要在构建中使用自定义下载程序从SMB共享中获取文件。它运作得很好。