【问题标题】:How to prevent Visual Studio from launching WcfSvcHost.exe while debugging?如何防止 Visual Studio 在调试时启动 WcfSvcHost.exe?
【发布时间】:2023-04-04 09:45:01
【问题描述】:

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

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

【问题讨论】:

  • 这在 VS 2017 中再次抬头。没有启用它的项目现在在打开解决方案时会弹出主机。

标签: .net wcf visual-studio visual-studio-debugging


【解决方案1】:

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

【讨论】:

  • 这需要 VS 2008 的 SP1,否则您需要按照 CheGueVerra 的建议“手动”完成。
  • 我在 Visual Studio 2017 中找不到这个选项!
【解决方案2】:

如果你已经创建了WCF Project,然后改成Console项目,发现WCF Service Host还在启动,编辑项目,编辑ProjectTypeGuids,去掉WCF Project类型:

旧:

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

新:

<ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

【讨论】:

  • 这个对我有用,谢谢。在 VS 中将项目类型从类库更改为控制台应用程序似乎还不够。
  • 天哪!我知道这已经过时了,但就在今天我在 VS2013 上遇到了这个问题。这解决了它。
  • 仅供参考...只是注释掉 XML 元素 ProjectTypeGuids 不会禁用 WCF 选项,您必须从项目文件中完全删除 GUID {3D9AD99F-2412-4246-B90B-4EAA41C64699}。最好将 XML 元素 ProjectTypeGuids 一起从项目中删除。
【解决方案3】:

您可以尝试在解决方案中卸载 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>-->

【讨论】:

  • 正如我在问题中所说,这正是我现在所做的。还有其他方便的方法吗?
  • 为我解决了卸载问题!
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 2021-12-15
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    相关资源
    最近更新 更多