我有一个包含多个项目的解决方案。一个是 asp.net 项目,设置为使用 asp.net 开发服务器。其他项目与 asp.net 无关:例如,有些是用非托管 c++ 编写的 windows 服务,有些是 c# 控制台应用程序。
我的问题是,如果我在调试器中启动任何非asp.net 项目,Visual Studio 仍然会启动 asp.net 开发服务器。当我使用多个 Visual Studio 实例调试程序交互时,这会导致问题。当我调试 Web 应用程序时,我确实希望 Web 服务器启动。
我注意到,当我调试非 asp.net 项目时,使用 asp.net 项目属性中指定的端口号和虚拟目录启动 asp.net 开发服务器。这些项目之间没有项目依赖关系。
有没有办法告诉 Visual Studio 只为实际指定应该使用它的项目启动开发服务器?
编辑 1:重现此行为:
- 使用 vs2010,创建一个空的解决方案。
- 添加一个接受所有默认值的 c++ 控制台应用程序。
fgetchar()
添加对生成的调用,main()
以便它在运行时不会立即退出。 - 在调试器中运行项目,注意到 asp.net 开发服务器没有启动。
- 向解决方案添加一个 asp.net Web 应用程序项目,接受所有默认值。转到项目属性 web 选项卡并验证它是否已配置为使用 asp.net 开发服务器。
- 将 c++ 控制台应用程序设置为启动项目,然后在调试器中启动 c++ 项目。请注意,asp.net 开发服务器现在启动,即使 Web 应用程序项目没有运行。
编辑 2:澄清我希望在调试 Web 项目时启动服务器,而不是在调试其他非 Web 项目时启动。