使用MSBuild / Web Deployment Project启动程序而不是等待它

时间:2009-08-07 17:27:15

标签: msbuild

我希望资源管理器在部署完成后打开某个文件夹,我正在使用以下内容来尝试它:

<Target Name="AfterBuild">
  <Exec Command="..."></Exec>
</Target>

但是,一个简单的“explorer \ somewhere”会导致构建过程在资源管理器上阻塞,直到你关闭资源管理器才会完成。用start explorer \\somewhere作为前缀并不会改变它。

有一种简单的方法吗?事情是我们只部署到一个中间阶段,并希望手动完成最后一步,并在相关文件夹上打开一个资源管理器是一个很好的。如果重要的话,Exec命令在Server 2008 Standard上使用VS.NET 2008来调用BAT文件。

3 个答案:

答案 0 :(得分:5)

我最终做的是

<Exec Command="..." Timeout="2000"></Exec>

也就是说,从不同的Exec元素然后复制元素启动资源管理器,然后在此元素上添加一个稍短的超时。这意味着VS启动资源管理器,2秒后返回。

答案 1 :(得分:1)

我最终做的是为预构建事件启动PowerShell流程。它执行命令而不会阻止构建过程的其余部分。

powershell start-process -workingdirectory "..." "cmd " """/k ..."""

答案 2 :(得分:-1)

在DOS shell中,您可以使用cmd / c来调用另一个进程,而不是等待它返回。你这可以作为一个后期构建活动。

<Target Name="AfterBuild">
  <Exec Command="cmd /c start explorer"></Exec>
</Target>