2013-05-22 3 views
2

Когда я пытаюсь запустить мой ФОС в Visual Studio 2012, я получаю следующую ошибкуполучаю ошибку WcfSvcHost.exe, когда я пытаюсь запустить мою ФОС службу

Использование: WcfSvcHost.exe/услуги: <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" %> 

Я не уверен, что я мог отсутствовать.

ответ

1

Я вижу, что вопрос был задан давно, но сегодня я получил такую ​​ошибку, и, возможно, ответ поможет кому-то.

В моем случае причина заключалась в отсутствии конфигурационного файла в проекте. Я использую другой проект-хост, содержащий файл app.config и после настройки службы wcf в качестве проекта запуска для целей отладки. Visual studio не видит этого. Если это так, просто скопируйте app.config из хоста в проект wcf.

1

У меня также был этот вопрос сегодня. Шахта была разрешена щелчком правой кнопкой мыши по проекту (у меня было несколько вариантов выбора) и выберите «Задать как проект StartUp», затем щелкните правой кнопкой мыши по сервису в рамках этого проекта, который вы планируете запустить, и выберите «Установить как стартовую страницу». Это решило мою проблему, надеюсь, что это поможет кому-то другому.

0

Просто удалите папку IIS Express в «Мои документы», закройте и снова запустите свое решение. Вот как я смог решить мою проблему.

2

Вот возможная вероятная проблема с вашим проектом. Щелкните правой кнопкой мыши значок своего проекта из браузера решений и выберите «Свойства». Это приведет к окну свойств проекта. Теперь в окне свойств перейдите на вкладку debug. На правой панели в разделе «Действие» ознакомьтесь с выбранной кнопкой выбора. Я упоминаю свои наблюдения относительно Visual Studio 2010, и я надеюсь, что это будет так же и в VS 2012. В настоящее время:

  1. Если выбрана опция опции «начать проект», то проверьте поле «параметры командной строки» в разделе «Параметры запуска». Он должен иметь значение «/client:"WcfTestClient.exe» .Если есть какие-либо проблемы здесь, исправьте его, чтобы попытаться решить проблему. Все в порядке, если поле «аргументы командной строки» пустое. Ваша служба WCF по-прежнему будет размещена успешно с той лишь разницей, что wcftestclient не будет запущен.
  2. Если выбрана опция «Начать внешнюю программу», то она должна показывать полный путь к WcfSvcHost.exe. Этот путь специфичен для конкретной версии используемой визуальной студии. Для VS 2010 на моем ящике путь «C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ WcfSvcHost.exe». После этого проверьте поле «аргументы командной строки». Оно должно иметь значение «/ service: wcfservicelibrary1.dll /config:wcfservicelibrary1.dll.config/client: WcfTestClient.exe "Здесь/service,/config,/client являются аргументами командной строки для WcfSvcHost.exe." wcfservicelibrary1.dll "- это имя двоичного файла проекта библиотеки wcf serice, созданного в папке/bin/debug проекта." wcfservicelibrary1. dll.config "- это имя файла конфигурации моего проекта библиотеки wcf serice, созданного в папке/bin/debug проекта после успешной сборки. Обратите внимание, что имя файла конфигурации по умолчанию изменяется с" app.config "на" wcfservicelibrary1.dll .config "после процесса сборки. Не должно быть орфографической ошибки при упоминании параметров командной строки, а именно/service,/config,/client. Обычно мы делаем орфографические ошибки, из-за которых мы сталкиваемся с проблемой, с которой вы сталкиваетесь. упомянутые три аргумента командной строки есть еще один аргумент командной строки/clientArgs. Я также использовал этот аргумент командной строки и неправильно записывал его как/clientArg вместо/clientArgs. После исправления этой орфографии проблема была решена.

Просьба посмотреть, могут ли эти наблюдения помочь вам избавиться от вашей проблемы. Да здравствует технология!

+1

Wow ... спасибо за сообщение. Это орехи. Для будущих читателей: «Начать внешнюю программу» для меня работали. – granadaCoder

Смежные вопросы