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

问题描述 投票:6回答:3

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

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

但是,一个简单的“资源管理器\某处”会导致构建过程在资源管理器上阻塞,直到您关闭资源管理器才会完成。使用start explorer \\somewhere对其进行前缀也不会改变它。

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

msbuild
3个回答
5
投票

我最终做的是有一个

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

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


1
投票

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

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

-1
投票

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

<Target Name="AfterBuild">
  <Exec Command="cmd /c start explorer"></Exec>
</Target>
© www.soinside.com 2019 - 2024. All rights reserved.