32

我在 Visual Studio 2008 中有一个解决方案,它有多个项目。其中一个项目是 WCF 项目。有时我只想调试其他项目,但是当我按 F5 时,Visual Studio 已启动 wcfsvchost.exe 来托管 WCF 项目,即使它不是“启动项目”。

目前,每次调试其他项目时,我都必须卸载 WCF 项目,以防止弹出烦人的 WcfSvcHost.exe 主机。但是,这并不方便。有人知道防止 WCF 项目以调试模式托管的更好主意吗?

4

4 回答 4

43

转到 WCF 项目属性页中的 WCF 选项部分,然后取消选中“在同一解决方案中调试另一个项目时启动 WCF 服务主机”复选框。

于 2008-11-12T12:30:35.870 回答
21

如果你已经创建了 WCF 项目,然后将其更改为控制台项目,并且发现 WCF 服务主机仍在启动中,则编辑该项目并编辑 ProjectTypeGuids 以删除 WCF 项目类型:

老的:

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

新的:

<ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
于 2009-09-16T19:42:49.953 回答
4

您可以尝试在解决方案中卸载 WCF 项目,然后进行调试。

抱歉,我误读了最后一部分来快速,那么我知道的唯一另一种方法是注释掉项目属性组中的 Web 部件。这阻止了我的弹出窗口

卸载项目,注释掉提到的部分,重新​​加载。

<!--<PublishUrl>http://localhost/WindowsFormsApplication1/</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>true</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>-->
于 2008-11-12T06:29:12.463 回答
1

不确定这是否能解决您的问题,但如果您在解决方案资源管理器中单击 WCF 项目,请查看它是否具有“调试时始终启动”属性。如果是,请将其设置为 false。不过,该属性仅针对某些项目类型显示,因此它完全取决于您使用的项目模板类型。

于 2008-11-13T20:58:29.893 回答