Добавление ссылки на службу в Visual Studio 2010 проблема - PullRequest
7 голосов
/ 28 января 2011

Я пытаюсь использовать Visual Studio 2010 для добавления ссылки на службу в службу, которой я не владею. Он ничего не добавляет в app.config, а созданный файл Reference.cs содержит только два класса, а именно SerializableExpression и пустой класс InterLinqType. Но у меня нет подходящего клиента, которого я могу создать. Когда я отключаю опцию «Повторное использование типов» в сгенерированных сборках, он генерирует немного больше членов в вышеупомянутых классах, но все же у меня нет подходящего клиентского класса, который я могу создать в качестве своего прокси для службы! Использование Visual Studio 2008 для добавления ссылки на службу в один и тот же сервис - все работает отлично! Пожалуйста, помогите.

Ответы [ 2 ]

8 голосов
/ 04 февраля 2011

В прошлом у меня была эта проблема при работе со сторонней службой.

3 вещи, чтобы попробовать.

  1. Загрузите WSDL локально и попробуйте добавить его оттуда.
  2. Создайте прокси из командной строки, а затем добавьте его в свой проект. Вот больше информации об использовании командной строки: http://msdn.microsoft.com/en-us/library/aa347733.aspx Поиграйте с флагами, которые доступны. Следите за флагом / targetClientVersion. Вот пример использования:

    svcutil / t: code / language = VB http://servicedomain/serviceurl /out:MyServiceProxy.vb /config:MyServiceProxy.config

  3. Проверка WSDL, на который вы смотрите, действительно действительна. У меня были недействительные символы, незакрытые теги и недопустимые местоположения дополнительных файлов dtd, которые исключают создание прокси. Вы можете попробовать использовать валидатор здесь, чтобы увидеть, не сработает ли он здесь: http://xmethods.net/ve2/Tools.po

6 голосов
/ 10 ноября 2012

Это старый пост, но я решил добавить свои два цента к своему решению.

У меня тоже были такие же проблемы.Я обнаружил, что ссылки на мои сборки неправильно установлены.

Проблема: мой тестовый контейнер ссылается на мою ссылку на службу и отображает только мои контракты, а не методы обслуживания.

Решение. Я ссылался на сборку, в которой содержались мои контракты.Как только я удалил его, ссылки снова появились.Затем мне стало любопытно, и я подумал, могу ли я ссылаться на эту сборку, если это необходимо, не теряя свою справочную службу.Итак, я прочитал эту сборку, которую удалил в своих ссылках, а затем щелкнул правой кнопкой мыши ссылку на службу и выбрал «Настроить ссылку на службу».Я выбрал «Повторное использование типов в указанных сборках, на которые есть ссылки», а затем выбрал только системные сборки, т. Е. Не выбрал сборку, которая используется в моей службе и упоминается в моем тесте, - единственную, которую я первоначально удалил, чтобы исправить проблему.Все сработало.

Резюме: вам нужно немного поиграть со ссылками.Так я исправил проблему в своем проекте.

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