当我点击F5来调试应用程序时,通常在进程方面比与被认为是“启动应用程序”的项目相关联的一个进程有更多的移动部分。例如,Web应用程序调用托管WCF Web服务的另一个(隔离的)Web应用程序。这两个应用程序都在同一个解决方案中,共享/引用相同的程序集(也在同一个解决方案中),并且两者都需要同时进行调试。
我已经放弃了Visual Studio 2008,原因很明显,我已经使用Debugger菜单手动连接了,我甚至有时会在启动时编写System.Diagnostics.Debugger.Attach()但讨厌这样做;是否可以将Visual Studio 2010配置为延迟连接到多个进程,即解决方案中的多个项目何时启动?
我理解Visual Studio知道如何附加到多个进程是“困难的”,特别是如果第二个进程被第一个进程“生成” - Visual Studio将不会预先拥有辅助进程的PID 。
但是,如果微软创建一个通用的调试器附件实现太“困难”,那么与“预构建”和“后构建”shell命令相同的概念将是理想的也可以应用于预调试和后调试调用宏,并修改System.Diagnostics.Debugger,以便我们可以编写一行或两行代码,在运行时可以干净地延迟连接到另一个进程,一个对话框。或者其他什么。
答案 0 :(得分:2)
您是通过IIS还是Cassini调试服务?如果您直接在VisualStudio中启动服务,您实际上可以同时启动多个应用程序/服务。
目前我无权访问VS2010,但在VS2005中,我在解决方案资源管理器中右键单击解决方案,然后选择“属性”。在Common Properties下,选择Startup Project类别。默认情况下,它将设置为“单个启动项目”。将其更改为“多个启动项目”,并为要运行的每个项目设置“操作”。在此之后,按F5将启动指定的所有项目。