如何从msbuild任务启动调试会话?

时间:2012-10-06 00:42:03

标签: visual-studio-2010 msbuild

我正在构建的系统有4个独立的应用程序,在生产中,是4个不同的win32服务。在开发过程中,我将它们作为4个独立的控这些程序需要按特定顺序启动。

我是通过右键单击每个项目从VS2010执行此操作并选择debug>开始一个新的实例。这有效,但速度很慢。

我尝试使用运行“多个启动项目”,但它们都是同时启动的。更改开始顺序没有帮助。

所以,我想要做的是使用MSBuild从构建脚本启动每个程序。我尝试使用Exec Task但程序不是作为调试过程启动的。

由于所有VS都基于msbuild,我知道必须有一种方法以这种方式启动项目..

1 个答案:

答案 0 :(得分:0)

您可以为此使用混合的Pre / Post构建事件。您可以在Project Properties -> Build Events中为最后一个项目修改它们。

预建活动

// Build is going to replace these files, they must not be in use  
taskkill /IM Foo.exe  
taskkill /IM Bar.exe

后期活动

// VsJITDebugger will ask for which debugger to attach, you can 
// choose currently active VS instance
VsJITDebugger.exe $(SolutionDir)\Foo\bin\Debug\Foo.exe  
VsJITDebugger.exe $(SolutionDir)\Bar\bin\Debug\Bar.exe

在每个构建上启动调试器可能会有点恼人:)更好的方法是使用批处理脚本进行上一个项目。您可以在Project Properties -> Debug -> Start external program

中执行此操作