我在 Visual Studio 2008 中有一个解决方案,它有多个项目。其中一个项目是 WCF 项目。有时我只想调试其他项目,但是当我按 F5 时,Visual Studio 已启动 wcfsvchost.exe 来托管 WCF 项目,即使它不是“启动项目”。
目前,每次调试其他项目时,我都必须卸载 WCF 项目,以防止弹出烦人的 WcfSvcHost.exe 主机。但是,这并不方便。有人知道防止 WCF 项目以调试模式托管的更好主意吗?
我在 Visual Studio 2008 中有一个解决方案,它有多个项目。其中一个项目是 WCF 项目。有时我只想调试其他项目,但是当我按 F5 时,Visual Studio 已启动 wcfsvchost.exe 来托管 WCF 项目,即使它不是“启动项目”。
目前,每次调试其他项目时,我都必须卸载 WCF 项目,以防止弹出烦人的 WcfSvcHost.exe 主机。但是,这并不方便。有人知道防止 WCF 项目以调试模式托管的更好主意吗?
转到 WCF 项目属性页中的 WCF 选项部分,然后取消选中“在同一解决方案中调试另一个项目时启动 WCF 服务主机”复选框。
如果你已经创建了 WCF 项目,然后将其更改为控制台项目,并且发现 WCF 服务主机仍在启动中,则编辑该项目并编辑 ProjectTypeGuids 以删除 WCF 项目类型:
老的:
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
新的:
<ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
您可以尝试在解决方案中卸载 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>-->
不确定这是否能解决您的问题,但如果您在解决方案资源管理器中单击 WCF 项目,请查看它是否具有“调试时始终启动”属性。如果是,请将其设置为 false。不过,该属性仅针对某些项目类型显示,因此它完全取决于您使用的项目模板类型。