等待Exec任务完成

时间:2015-03-11 09:04:51

标签: msbuild

我的一个msbuild目标的工作原理如下:

     
  1. 获取配置文件
  2.  
  3. 使用这些配置文件启动窗口服务
  4.  
  5. 执行特定服务任务
  6.  
  7. 停止窗口服务
  8.  
  9. 重复
  10. 问题在于,有时服务停止可执行任务(Exec Command =“sc stop myservice”)需要更长的时间,当调用“sc start myservice”时,它表示服务已在运行。所以我的问题是:我怎么能等待“exec”命令完成?我试图将每个可执行文件放在目标中并使用“CallTarget”调用并放置适当的“DependsOnTargets”或“AfterTargets”,但它不起作用。你能帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

问题是Exec实际上完成了命令执行(他只是抛出“sc stop myservice”)然后另一个exec开始工作。我为“sc start myservice”添加了一分钟的超时并且它解决了。结果如下:

<Exec Command="sc stop myservice" ContinueOnError="true" />
<Exec Command="sc start myservice" ContinueOnError="true" Timeout="60000" />