Как добавить сервисную ссылку времени разработки в консольное приложение в VS 2010? - PullRequest
0 голосов
/ 07 февраля 2011

Я пытаюсь создать простое приложение WCF.Мои сервисные интерфейсы и реализации находятся в библиотеках классов.Я написал очень простое консольное приложение, которое выступает в качестве хоста сервера.

Теперь я создал клиент Silverlight и пытаюсь добавить ссылку на службу, используя App.config в консольном приложении,но настроенные службы не отображаются в Discover-> Services In Solution.

Они отображаются, если я создаю библиотеку классов WCF для моих служб, но не обычную библиотеку классов с app.config.

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

Каковы правила добавления ссылок на службы времени разработки?

Редактировать

Видимость проекта для обнаружения во время разработки, по-видимому, контролируется следующими типами проекта:

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

(для добавления их в csproj требуется, чтобы он содержал хотя бы одну службу).

Другое правило заключается в том,типы служб должны находиться в той же сборке, что и файл app.config, который на них ссылается.

1 Ответ

0 голосов
/ 07 февраля 2011

Я считаю, что Visual Studio использует различные типы проектов в вашем решении (метаданные, хранящиеся либо в файле решения / проекта, либо в обоих), чтобы идентифицировать потенциальных кандидатов.Если вы создаете консольное приложение, Visual Studio не будет обрабатывать его так, как если бы оно могло содержать ссылку на службу, хотя, как я думаю, вы уже поняли, изменение целевого типа после создания проекта, по-видимому, не имеет такого эффектапотому что это не делает недействительными эти метаданные.

Создайте два новых проекта, по одному для каждого, и сравните два файла с помощью инструмента сравнения или просто блокнота.Посмотрите, изменяет ли это поведение копирование изменений между проектами и перезагрузка (или даже перезапуск VS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...