2012-03-02 3 views
1

У меня был проект VS2010, который компилируется на моем компьютере, но жалуется на отсутствие ссылки на другом компьютере. Я проверил ссылки, и есть один для «Интерфейсов», который имеет восклицательный знак, нормальный, когда файл отсутствует или имеет другую проблему.Отсутствие ссылки снова появилось?

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

Что это колдовства?

Проблема для меня в том, что этот проект станет частью автоматизированной сборки с использованием MSBuild, и она не может быть скомпилирован без ручного открытия файла на каждом агенте построения и нажав «недостающее» ссылка раз :)

ответ

0

Можете ли вы сравнить файлы решений и проектов до и после манифестного открытия файла?

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

E.G. это ссылка на сборку «Любой процессор», и агент сборки только строит сборку «x86», или ссылается на ссылку v2.1.3.1 (и имеет вариант, заявляющий или более поздний вариант), и присутствует только более поздняя версия поэтому VS2010 автоматически обновляет ссылку на более позднюю версию.

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

Начинайте с сравнения до и после. Осмотрите решение, дайте ему исправить себя, а затем сделайте разницу, чтобы увидеть, что меняется.

0

Проверьте пути сборки для ссылки и проверьте действие сборки. Изменение порядка сборки также является опцией.

Является ли ссылка ссылкой на фактическое действие сборки? Возможно, порядок сборки не синхронизирован или его копия при создании действия одного из подпроектов.

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