Как я могу избавиться от сообщения об ошибке "целевая сборка не содержит типов служб" в VS2008?
У меня есть клиент / сервер wcf приложение
мой исполняемый файл не определяет каких-либо ServiceContract
, Это даже не имеет ссылки на System.ServiceModel
(но вместо этого ссылку на сборку, которая содержит логику подключения к серверу)
у меня есть другая сборка, на которую ссылается мой EXE, который содержит ServiceContract
.
Он работал нормально. Вчера я много играл с настройками моего проекта (частичное доверие, полное доверие, параметры развертывания и так далее) и теперь, каждый раз, когда я запускаю свой клиент, у меня есть следующее окно сообщения:
узел службы Microsoft WCF
Целевая сборка не содержит типов служб.
Возможно, потребуется изменить политику безопасности доступа к коду этой сборки.
затем VS зависает на 1 минуту, и в конечном итоге позволяет мне отлаживать мою программу, как обычно.
Я нашел сообщение об этом проблема, но решение не применять в моей ситуации. Есть идеи?
8 ответов:
это всегда так. Вы ищете в течение 2 часов, вы в конечном итоге отправляете сообщение на SO, а через 5 минут находите ответ.
на параметры WCF вкладка свойств проекта, определяющая
ServiceContract
, есть флажок с надписью "запустить узел службы WCF при отладке другого проекта в том же решении", который я снял.Я не знаю, как это было проверено в первую очередь.
в любом случае, это решается моя проблема. Смотрите ссылка MSDN для этого проекта.
на всякий случай, если кто-то еще ищет ответ, другая причина этой ошибки может быть, если у вас есть
App.config
файл в проекте, который является библиотекой классов, которая имеет .я переместил служебный код из проекта, который был исполняемым в другой проект, но случайно оставил старый . Мой новый проект, который был консольным приложением программно настроен и запущен WCF, а потому старый
App.config
файл был в ссылке сборка, я бы получил это загадочное диалоговое окно даже при отладке консольного приложения.потребовалось около 12 часов, чтобы отследить это, так как я не понимал, что VS debugger проверяет все ссылочные сборки для приложения.конфигурация, в которой настроены службы WCF.
чтобы определить проект с этой проблемой найти строку 3D9AD99F-2412-4246-B90B-4EAA41C64699 в файлах вашего проекта.
пример:
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
затем выключите опцию проекта "параметры WCF / запуск узла службы WCF при отладке другого проекта в том же решении"
некоторые блоги говорят, что это могло произойти из-за копирования проекта из другой ветви, которая переопределяет GUID... так что просто удалите их, как описано в этот блог.
эта ошибка также может быть вызвана неправильным именем службы в файле конфигурации:
<system.serviceModel> <services> <service name="MyServiceLibrary.WrongServiceName"> ...
Проверьте файл конфигурации и убедитесь, что имя службы правильно.
старая нить. Просто удалите все аргументы командной строки из раздела отладки в разделе Параметры. Это мне помогло.
Я также прошел через такую же проблему и искал часы, чтобы избавиться от этой конкретной ошибки. Наконец-то я нашел выход из этой ситуации.
когда вы сталкиваетесь с этой конкретной проблемой, вы попробуйте запустить сервер и клиентское приложение как администратор, и изменить свойства WPF проекта.
при нажатии на свойства WPF проекта, вы найдете опцию сборки. В опции сборки, существует опция под названием ЦЕЛЬ ПЛАТФОРМЫ, в котором вы можете изменить цель платформы на x86. Также обратите внимание, что в случае x84, вам нужно установить его в x84.
теперь Запустите свой проект из консоли, т. е. перейти в папку, где ваши проекты сохраняются и в в бин клиента, вы найдете папку debug где вы получите ваше консольное приложение. Теперь вы должны быть в состоянии работать приложение успешно работает.