Не удалось добавить ссылку на службу - заблокировано/доступно только для чтения
Всякий раз, когда я иду добавить ссылку на службу, я получаю сообщение об ошибке:
Не удалось добавить ссылку на службу 'Servicereference1.reference'
Ошибка: невозможно проверить текущий файл. Файл может быть доступен только для чтения или заблокирован, или вам может потребоваться проверить файл вручную.
У меня уже была ссылка на службу в проекте, но она как-то сломалась и сообщила мне об ошибке:
Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт (servicename)
Конечные точки как в файле web.config, так и в справочной системе сервиса были одинаковыми (localhost)
Я также не мог обновить эту ссылку, так как я бы получил ту же ошибку "не удалось проверить текущий файл".
EDIT: проблема не является родной только для этого проекта. Я попытался создать новый, полностью отдельный проект и добавить ссылку на службу, и я получил ту же ошибку.
Ответы
Ответ 1
У меня была такая же ошибка: я обнаружил, что есть проблемы, если у вас есть плагин управления версиями "Microsoft Git provider" (мое решение WCF не было добавлено в исходный контроль!), и вы пытаетесь добавить ссылку на службу.
- установить плагин управления версиями на None
- перейдите в ИНСТРУМЕНТЫ > Параметры > Управление источником.
- добавить ссылку службы
- установите плагин источника управления в исходное значение
Ответ 2
Я знаю, что на это был дан ответ, но прежде чем пробовать все остальное в ответах, перезапустите визуальную студию.
Это произошло со мной и с четырьмя другими людьми в моем классе WCF. Кажется, это проблема с визуальной студией 2013 года, а не с 2012 годом.
Ответ 3
Как вы уже очистили, не задействован контроль источника (что, по-видимому, является причиной для меня проблемы), вы можете попробовать следующие шаги:
-
Убедитесь, что вы скопировали вставку из местоположения, где был источник, а затем удалили определенные файлы управления источником.
-
Убедитесь, что папка не заблокирована, а также не доступна только для чтения. Если это так, то удалите только чтение из папки.
-
Убедитесь, что визуальная студия не находится в режиме отладки при добавлении ссылки.
-
Если выше не работает, закройте визуальную студию и перезапустите ее.
-
Убедитесь, что Visual Studio запущена как "Запуск от имени администратора".
-
Наконец, если все вышеописанное не работает, попробуйте перезагрузить компьютер.
Сообщите мне, работает ли это или нет.
Ответ 4
Возможно, это немного поздно, но если у кого-то такая же проблема, я решил запустить VS2013 в качестве администратора.
Ответ 5
Перейдите в меню Отладка и нажмите (Параметры и настройки)
![debug]()
Выберите Управление источником.
В разделе Текущий источник Выпадающее меню ControlPlug выберите none
![none]()
Затем нажмите ok, чтобы сохранить chnages. Теперь вы можете добавить ссылку на службу.
Ответ 6
Похоже, что какой-то файл Visual Studio поврежден. Попробуйте полностью удалить ссылку, затем сгенерируйте ссылку, используя svcutil {http://{service}/metadataEndpoint} (я предполагаю, что это WCF) или (используйте wsdl.exe для веб-сервисов), затем получите клиентский прокси и поместите его в проект использовать его. Посмотрите, хорошо ли это работает.
Ответ 7
Отключение исходного элемента управления по умолчанию для добавления ссылки ужасно. @ScottG сказал выше и работает. Просто запустите VS как администратор - это работает, и вам не нужно возиться со своей средой. В VS 2013 UP-5 все еще есть эта проблема.
Ответ 8
Проверьте, что ваши файлы только для чтения, если да, удалите атрибут только для чтения и перезапустите визуальную студию и попробуйте добавить ссылку на службу.
это сработало для меня вот так.
Ответ 9
Убедитесь, что ваша папка в IIS, где ваши службы помещены (я имею в виду физический файл;.svc), не открыта или даже не выбрана в диспетчере файлов. Это работает для меня, но прежде чем я почти сошел с ума, чтобы найти ошибку.