1

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

我通过右键单击每个项目并选择调试 > 启动新实例从 VS2010 执行此操作。这有效,但非常缓慢。

我尝试使用运行“多个启动项目”,但它们都同时启动。更改启动顺序无济于事。

所以,我想做的是使用 MSBuild 从构建脚本启动每个程序。我试图使用 Exec Task 但程序没有作为调试进程启动..

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

4

2 回答 2

0

我没有找到解决方案..我在每个应用程序中添加了不同的硬编码延迟,并使用调试“多个启动项目”启动它..有点破解但简单更好。

于 2012-10-10T22:05:37.683 回答
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.

于 2012-10-06T04:59:48.323 回答