提问人:Kevin Goff 提问时间:8/19/2008 更新时间:7/17/2012 访问量:3922
如何将 VS2008 配置为在具有多个项目的解决方案中仅打开一个 Web 服务器?
How do you configure VS2008 to only open one webserver in a solution with multiple projects?
问:
从 2005 年开始,VS 开始了这种行为,即在启动调试会话时,它会为解决方案中的每个项目生成一个 Web 服务器。我有一个包含 15 个项目的解决方案,所以这需要一段时间并且浪费资源。除了仅使用 IIS 之外,有没有办法以不同的方式配置它?
答:
这里有一些关于它为什么这样做以及如何克服它的细节:
http://vishaljoshi.blogspot.com/2007/12/tips-tricks-start-up-options-and.html
在某些情况下,您可能在同一解决方案中有许多 Web 应用程序或网站,而您实际上可能只调试其中一个应用程序或网站...在这种情况下,可能不希望有多个 ASP.NET Development Server 实例运行...VS 在 Web 应用程序/站点的属性网格中提供了一个显式设置,称为开发 Web 服务器 - “调试时始终启动”,默认情况下设置为 True...如果将此属性设置为 False,则只会为启动 Web 项目创建一个 Web 服务器实例...
评论
我也对这种行为感到非常恼火。我发现的唯一解决方案是手动更改每个 Web 应用程序的属性页,以便它命中 IIS 中实际运行的实例。
无论如何,我更喜欢这样做,因为使用集成的 Web 服务器进行调试可能会给您一个非常错误的印象,即您的应用程序将如何与 IIS 安全模型进行交互。
在 Visual Studio 2008 中,项目的“属性”页上有一个名为“调试时始终启动”的条目。
请注意,必须通过选择项目并转到“属性”窗格(或右键单击“属性”)来实现此目的。当您双击项目并在主编辑窗格中打开它时,此选项不存在。
默认情况下,VS 会将所有 Web 项目的此值设置为 on。关闭它将解决此问题。
[社论]这很烦人,我希望默认值是错误的![/社论]
将 Web 服务项目的“调试时始终启动”属性设置为 false。若要访问该属性,请单击项目节点,然后按 F4 或单击“查看”|”“属性”窗口(不是“属性页”)。
请注意:这不是通过单击项目节点然后单击“属性”到达的属性;或者双击项目的“属性”子节点;或单击“查看”|”属性页。
同样令人讨厌的是,此属性仅作为用户设置保留在 .csproj.user 文件中。
我知道这是一个老问题,但在 Visual Studio 2010 中,从 Web 项目中选择属性会将您带到大配置屏幕/网格。设置有点埋没了。Always Start When Debugging
将重点放在所需的 Web 项目上,查看属性窗口/选项卡 (+, ) 并在那里设置属性。CTRLWP
上一个:TCL开发:调试环境
评论