如何将 VS2008 配置为在具有多个项目的解决方案中仅打开一个 Web 服务器?

How do you configure VS2008 to only open one webserver in a solution with multiple projects?

提问人:Kevin Goff 提问时间:8/19/2008 更新时间:7/17/2012 访问量:3922

问:

从 2005 年开始,VS 开始了这种行为,即在启动调试会话时,它会为解决方案中的每个项目生成一个 Web 服务器。我有一个包含 15 个项目的解决方案,所以这需要一段时间并且浪费资源。除了仅使用 IIS 之外,有没有办法以不同的方式配置它?

visual-studio 调试

评论


答:

23赞 Martin 8/19/2008 #1

这里有一些关于它为什么这样做以及如何克服它的细节:

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 服务器实例...

评论

0赞 Daryl 1/5/2013
你刚刚为我解决了一个多年来一直让我生气的问题。谢谢伙计!你成就了我的一天。
0赞 Peet vd Westhuizen 10/10/2013
谢谢。此设置“调试时始终启动”可以避免挫败感。
0赞 Eric Z Beard 8/19/2008 #2

我也对这种行为感到非常恼火。我发现的唯一解决方案是手动更改每个 Web 应用程序的属性页,以便它命中 IIS 中实际运行的实例。

无论如何,我更喜欢这样做,因为使用集成的 Web 服务器进行调试可能会给您一个非常错误的印象,即您的应用程序将如何与 IIS 安全模型进行交互。

2赞 Slaggg 10/30/2009 #3

在 Visual Studio 2008 中,项目的“属性”页上有一个名为“调试时始终启动”的条目。

请注意,必须通过选择项目并转到“属性”窗格(或右键单击“属性”)来实现此目的。当您双击项目并在主编辑窗格中打开它时,此选项不存在。

默认情况下,VS 会将所有 Web 项目的此值设置为 on。关闭它将解决此问题。

[社论]这很烦人,我希望默认值是错误的![/社论]

12赞 Steve Betten 12/15/2009 #4

将 Web 服务项目的“调试时始终启动”属性设置为 false。若要访问该属性,请单击项目节点,然后按 F4 或单击“查看”|”“属性”窗口(不是“属性页”)。

请注意:这不是通过单击项目节点然后单击“属性”到达的属性;或者双击项目的“属性”子节点;或单击“查看”|”属性页。

同样令人讨厌的是,此属性仅作为用户设置保留在 .csproj.user 文件中。

3赞 EBarr 3/9/2011 #5

我知道这是一个老问题,但在 Visual Studio 2010 中,从 Web 项目中选择属性会将您带到大配置屏幕/网格。设置有点埋没了。Always Start When Debugging

将重点放在所需的 Web 项目上,查看属性窗口/选项卡 (+, ) 并在那里设置属性。CTRLWP