如何将VS2008配置为在具有多个项目的解决方案中仅打开一个Web服务器?
时间:2020-03-05 18:40:45 来源:igfitidea点击:
从2005年开始,VS开始了这种行为:启动调试会话时,它为解决方案中的每个项目都生成了一个Web服务器。我有一个包含15个项目的解决方案,因此要花一些时间并且浪费资源。除了仅使用IIS,还有其他方法可以对其进行不同的配置吗?
解决方案
回答
有关执行此操作的原因以及如何克服它的一些详细信息:
http://vishaljoshi.blogspot.com/2007/12/tips-tricks-start-up-options-and.html
There are instances when you might have many web applications or web sites in the same solution and you may be actually debugging only one of them... In such scenario it might not be desirable to have multiple instances of ASP.NET Development Server running... VS provides an explicit setting in the property grid of web application/site called Development Web Server - "Always Start When Debugging" which is set to True by default... If you set this Property to be False only one web server instance will be created for the start up web project...
回答
我也对此行为感到非常恼火。我发现的唯一解决方案是手动更改每个Web应用程序的属性页,以使其到达IIS中一个正在运行的实例。
无论如何,我还是更喜欢这种方式,因为使用集成的Web服务器进行调试会给我们关于应用程序如何与IIS安全模型交互的错误印象。
回答
在Visual Studio 2008中,项目的"属性"页面上有一个名为"调试时始终启动"的条目。
请注意,我们必须通过选择项目并转到"属性"窗格(或者右键单击"属性")来实现。双击项目并在主编辑窗格中将其打开时,此选项不存在。
默认情况下,VS将所有Web项目的此值都设置为on。将其关闭将解决此问题。
[editorial]这很烦人,希望默认设置为false![/ editorial]
回答
将Web服务项目的"调试时始终启动"属性设置为false。要访问该属性,请在项目节点上单击,然后单击F4或者单击"视图" |"确定"。属性窗口(不是属性页)。
注意:这不在通过单击项目节点然后单击"属性"到达的属性中。或者双击项目的"属性"子节点;或者或者通过单击查看|属性页。
同样令人讨厌的是,此属性仅作为用户设置保留在.csproj.user文件中。