VS 2010 Ошибка «Ссылка на объект не установлена ​​на экземпляр объекта» при добавлении ссылки на службу для службы WCF - PullRequest
7 голосов
/ 22 апреля 2010

У меня есть решение VS2010 (RTM), которое содержит:

Сервисный проект WCF
Консольный клиентский проект WCF
Проект класса для DataContracts и участников
Проект класса для некоторых простых классов

Я успешно добавил сервисную ссылку в консольный клиентский проект и запустил клиент. Затем я сделал длинный цикл разработки, многократно модифицируя сервис, затем обновляя ссылку на консольный сервис. Затем я изменил пространство имен и имена сборок для проектов, а также .cs, используя ссылки и app.config. Я, конечно, пропустил некоторые вещи, так как он не собирался, поэтому в конце концов я удалил ссылки на проект и ссылку на сервис, успешно очистил и собрал.

Затем я попытался снова добавить ссылку на службу, она обнаружила ее, но выкинула «Ссылка на объект не установлена ​​на экземпляр объекта», когда OK'ing. Исправьте в ответе ниже ...

Ответы [ 7 ]

6 голосов
/ 13 апреля 2012

Эта проблема будет наблюдаться, если вы попытаетесь добавить ссылку на службу в проект, но в том же проекте есть ссылка на службу в другой загруженный вами проект.Например, вы можете использовать следующие шаги для воспроизведения:

  1. Создайте два отдельных проекта службы WCF, Service1 и Service2
  2. Создайте проект клиента и добавьте ссылку на службу в службу впроект Service1
  3. Выгрузить проект Service1
  4. В клиентском проекте попробуйте добавить ссылку на сервис в проект Service2 - вы получите вышеуказанную ошибку

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

6 голосов
/ 22 апреля 2010

Публикация своего исправления, поскольку я не смог его найти в другом месте:

Stackoverflow'ing / Googling никуда меня не привел, поэтому я в итоге открыл файл решения в блокноте и обнаружил, что запись, ссылающаяся на мой консольный проект, зависела от проекта службы WCF.

После того, как я удалил этот ProjectSection, я смог добавить ссылку на сервис и вернулся к работе.

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

2 голосов
/ 20 июня 2012

Существует существующая зависимость проекта между сервисом и клиентом. Щелкните правой кнопкой мыши на Потребительский проект -> Зависимости проекта; Снимите флажок зависимости между Потребителем и Сервисом. (Это удалит все внутренние объекты или ссылки от потребителя)

Повторить: Добавить сервисную ссылку.

1 голос
/ 01 ноября 2012

Удалите все версии Silver Light SDK (Silverlight, Silverlight3 и т. Д.) И инструменты Silverlight из «Установка и удаление программ». Переустановите Silverlight-инструменты, которые должны решить проблему.

1 голос
/ 05 сентября 2011

Всем, у кого возникла эта проблема и не помогли вышеуказанные подходы: Посмотрите, имеет ли часть пользовательского интерфейса некоторые привязки данных (в моем случае это был элемент управления сеткой данных на клиенте silverlight) ymmv Кроме того, если у вас есть клиент службы, то привязки в этой форме, вероятно, могут быть в форме метода _Completed, рассмотрите его, чтобы увидеть, если вы пропустили некоторые данные / параметры, которые должны быть там. НТН

0 голосов
/ 04 января 2018

Моя проблема в vs17 (ссылка на объект не установлена ​​для экземпляра объекта):

Итак, я переименовал проект в vs2015, но это не переименовало папку, в которой находился проект.Когда я открыл его в vs2017 и попытался рекламировать службу WCF, после нажатия OK я получил бы объект ref not found.

Мое исправление:

Итак, я выгрузил файл проекта из решения и переименовал папку проекта в соответствии с файлом проекта, перезагрузил проект в свое решение в vs2017, теперь я могу«Добавить WCF Сервис»!

0 голосов
/ 11 мая 2013

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

Причиной ошибки «ссылка на объект» было просто изменение URL-адреса конечной точки ссылки на службу с локального на мой dev-сервер.Никогда раньше не было этой проблемы, за исключением одного раза.

...