VS2010 - Ссылочный компонент 'X' не найден. - Отключить авто "Добавить ссылку" - PullRequest
3 голосов
/ 25 мая 2011

У нас проблема с файлами нашего проекта, что раздражает.

Пример:

У нас есть решение с projX и projY , который ссылается на сборку log4net .

Скажем, например, кто-то перемещает файл сборки и обновляет только ссылку в projX +, затем фиксирует безобнаружение отсутствующей сборки - тогда ссылка пропадает в projY .

В следующий раз, когда я проверяю и открываю решение, projY имеет ссылку, правильно помеченнуюVS2010 как отсутствующий, с небольшим восклицательным знаком.Все идет нормально.:)

Проблема:

Теперь, если я делаю Построение решения , ссылка на сборку магически обновляется в projY , чтобы указатьв папку projX BIN! (В этом случае projX должен быть собран ДО ПЕРЕД projY)

Похоже, что VS2010 ищет наше дерево решений и автоматически добавляет сборку, если может найтисоответствие одному.

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

Вопрос:

Есть ли способ отключить это поведение и просто получитьошибка компиляции, которая мешает сборке?

Примечания:

  • Мы недавно перешли на использование NuGet.
  • Мы определили наш собственный выводпапка -> файлы не помещаются в Bin \ Debug, а в .. \ output.

[EDIT]

Обновлен пример для большей наглядности.

[РЕДАКТИРОВАТЬ]

Поиск в Интернете решения Я нашел эту статью, которая описывает связанную проблему, где VS2010 также автоматически добавляет ссылки, но в этом случае из GAC.Наши сборки НЕ в GAC.http://blog.scrappydog.com/2010/07/bug-tfs-2010-outsmarts-itself-and-auto.html

[EDIT]

Попытка исправить это, используя путь ссылки в проекте.Идея заключалась в том, что VS будет сначала искать путь ссылки, а затем папки bin проекта.Но не повезло.Он по-прежнему берет сборки из выходной папки.

Ответы [ 4 ]

1 голос
/ 31 января 2013

У меня была такая же проблема с одной сборкой.

Что мне действительно помогло, так это перемещение всей папки решения в корень диска, поскольку путь к некоторым файлам превышал 256 символов. Я узнал, что при попытке заархивировать / распаковать папку решения.

1 голос
/ 25 мая 2011

Я знаю, что это может звучать глупо, но вы проверили ваши проекты Справочные пути, определенные в свойствах проекта?Может быть, это просто поиск недостающей ссылки с любых путей, которые вы могли установить.

1 голос
/ 26 мая 2011

Нет, об этом нет известного решения.

0 голосов
/ 25 мая 2011

Подтвердили ли вы это с другими сборками? Я не использовал log4net раньше, но если он находится в Global Assembly Cache (GAC) с правильной версией, его можно было бы взять оттуда. GAC - это место для общесистемных сборок, на которое должны ссылаться приложения в системе.

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