尝试运行我的wcf服务时出现WcfSvcHost.exe错误

时间:2013-05-22 17:29:52

标签: wcf servicehost

当我尝试在Visual Studio 2012中运行我的wcf时,我收到以下错误

  

用法:WcfSvcHost.exe / service:< PathToServiceDLL>   /配置:其中PathToServiceConfig>   [/客户端:其中pathToClientApp>] [/ clientArgs:其中argumentsToBePassedToClientApp>]

我已经阅读了一些博客,其中提到环境可能有问题,但我可以成功运行不同的项目。

我的app.config 文件重要设置:

<endpoint address="" binding="wsHttpBinding" contract="Sac.Business.Interfaces.IManufacturer">
<service name="Sac.Business.Logic.ManufacturerLogic" behaviorConfiguration="ManufactuerBehave">
<behavior name="ManufactuerBehave">

我的svc 文件在另一个项目中:

<%@ ServiceHost Language="C#" Debug="true" Service="Sac.Business.Logic.ManufacturerLogic" %>
<%@ Assembly Name="Sac.Business.Logic" %>

我不确定我能错过什么。

4 个答案:

答案 0 :(得分:2)

我今天也遇到过这个问题。通过右键单击项目解决了我的问题(我有多个可供选择)并选择“设置为启动项目”,然后右键单击您计划运行的项目中的服务并选择“设置为开始页面”。这解决了我的问题,希望它可以帮助其他人。

答案 1 :(得分:2)

以下是您的项目可能出现的问题。右键单击解决方案资源管理器中的项目图标,然后选择“属性”。这将带您进入项目属性窗口。现在在属性窗口中转到调试选项卡。在右侧窗格内&#34;开始操作&#34;部分观察所选的选项按钮。我提到了我对Visual Studio 2010的观察,我希望它在VS 2012中也是如此。现在:

  1. 如果&#34;启动项目&#34;选择选项按钮然后检查&#34;命令行参数&#34; &#34;开始选项&#34;部分。它应该有价值&#34; / client:&#34; WcfTestClient.exe&#34;。如果此处有任何问题,请修复它以尝试解决您的问题。如果&#34;命令行参数&#34;完全没问题。字段是空白的。您的WCF服务仍将成功托管,只是区别在于wcftestclient无法启动。
  2. 如果&#34;启动外部程序&#34;选择选项按钮然后它应显示WcfSvcHost.exe的完全限定路径。此路径特定于您正在使用的Visual Studio的特定版本。对于我的盒子上的VS 2010,路径是&#34; C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ WcfSvcHost.exe&#34;。在此之后检查&#34;命令行参数&#34;领域。它应该有价值&#34; / service:wcfservicelibrary1.dll /config:wcfservicelibrary1.dll.config /client:WcfTestClient.exe"这里/ service,/ config,/ client是WcfSvcHost.exe的命令行参数。 &#34; wcfservicelibrary1.dll&#34;是我的wcf serice库项目在项目的/ bin / debug文件夹中创建的二进制文件的名称。 &#34; wcfservicelibrary1.dll.config&#34;是成功构建后在项目的/ bin / debug文件夹中创建的wcf serice库项目的配置文件的名称。请注意,默认配置文件名更改为&#34; app.config&#34; to&#34; wcfservicelibrary1.dll.config&#34;在构建过程之后。在提到命令行参数即/ service,/ config,/ client时,应该没有拼写错误。通常我们会犯拼写错误,因为我们面临您所面临的问题。除了上面提到的三个命令行参数之外,还有一个命令行参数/ clientArgs。我也使用这个命令行参数,并将其拼写为/ clientArg而不是/ clientArgs。一旦我纠正了这个拼写,问题就解决了。
  3. 请查看这些观察结果是否可以帮助您解决问题。万岁科技!

答案 2 :(得分:1)

我很久以前就知道这个问题了,但今天我收到了这样的错误,也许回答会帮助别人。

在我的情况下,原因是项目中没有配置文件。我正在使用包含app.config文件的其他主机项目,并在将wcf服务设置为启动项目以进行调试之后,Visual Studio没有看到它。如果是这样,只需将app.config从主机复制到wcf项目。

答案 3 :(得分:0)

只需删除“我的文档”中的IIS Express文件夹,关闭并再次启动解决方案。这就是我能够解决我的问题的方法。