«Вы упускаете ссылку на сборку?» ошибка компиляции - Visual Studio

StackOverflow https://stackoverflow.com/questions/450999

Вопрос

В настоящее время я работаю над управлением сервером для других приложений в нашей компании, чтобы взаимодействовать с службой WCF. Каждый раз, когда я делаю изменение кода изменения и перекладываю элемент управления, я увеличиваю класс AssemblyVersison и AssemblyFileversion в asseemblyinfo.cs на один. Например, моя последняя сборка перешла с 1,0.07.0 до 1.0.08.0.

Когда потребляющее приложение обновляет файл, копируя последний файл в каталоге Bin и пытается компилировать, они получают следующую ошибку:

Имя типа или пространства имен «myControl» не существует в пространстве имен «myNamespace» (вы упускаете ссылку на сборку?)

Чтобы разрешить эту ошибку, они должны удалить текущую ссылку и повторно добавить ссылку.

Есть ли способ обновить управление сервером без необходимости удаления и повторного адаптации ссылки?

Я не силен имен управлением сервером.
@Jpunyon - Вы имеете в виду, что потребляющее приложение добавить проект управления сервером в свое решение?

Это было полезно?

Решение

Щелкните правой кнопкой мыши ссылки на сборку в Explorer Solution, свойства, отключите опцию «Конкретная версия».

Другие советы

В моем случае это был проект, определенный с использованием целевой структуры: «.NET Framework 4.0 Profile», который пытался ссылаться на проекты DLL, определенные с использованием Target Framework: «.NET Framework 4.0».

Как только я изменил настройки проекта, чтобы использовать целевую структуру: «.NET Framework 4.0» все было построено хорошо.

Щелкните правой кнопкой мыши проект-> Свойства-> Приложение-> Целевая структура

Вы сильнее имена своих собраний? В этом случае не является хорошей идеей автоматического введения вашего номера сборки, потому что с каждым новым номером сборки вам также придется обновить все ваши ссылки.

Я наткнулся на ответ, который указал мне в правильном направлении, но ...

Для тех, кто использует Visual C ++:

Если вам нужно отключить автоматическое включение версии, вы можете изменить это значение в файле «assblyinfo.cpp» (все проекты CLR имеют один). Дайте ему настоящий номер версии без звездочки, и он будет работать так, как вы хотите.

Только не забудьте внедрить свой собственный контроль версии на вашей сборке!

В моем случае мне пришлось изменить локальную настройку копирования на True (Щелкните правой кнопкой мыши в сборке решения, выберите свойства, найдите и изменение значения копии локального свойства). После того, как эта настройка была изменена, публикация моей службы WCF скопировала файл на сервер, и ошибка исчезла.

Создавая новый Blank UWP Project в Visual Studio 2017, эта ошибка возникла.

enter image description here

После предлагаемого средства правовой защиты (восстановление кэша Nuget) эталон взобрался в проекте.

Я столкнулся с этой ошибкой с помощью трубопровода Azure DevOps (MS-Hosted), который строил трубопровод TFVC.

В моем случае я работал в филиале и случайно добавил ссылку из папки пакета в багажнике, а не из ветви. Как только я добавил ссылку изнутри ветви, она начала успешно компилировать.

Т.е., работая над branch-beta sierra.csproj, я случайно ссылался на Trunk Packages delta.dll. Очевидно, мне нужно было ссылаться на branch-beta packages delta.dll вместо этого. Смешивание произошло потому, что путь не отображается в Добавьте ссылку Окно и я не проверяли достаточно внимательно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top