Глюки... при компиляции солюшена.
Глюки... при компиляции солюшена.
Имею непонятный глюк при буилде/ре-буилде солюшена.
Исходное:
Солюшен - сложный - много проектов распиханных по виртуальным папкам.
В дополнение - в проектах есть набор пред- и пост- комманд по копированию построенных библиотек, изменены пути куда складывать построенное.
(менять не буду - многое шарится с другими солюшниками и как проекты, и как либы).
Глюк заключается в том, что в какой-то момент времени при компиляции перестает находится одна из библиотек.
Проблемная библиотека - там описаны интерфейсы - лежит в виртуальной папке солюшена и компилируется без каких либо проблем. Изменений - давно нет, лежит где надо.
При проверке - библиотека на месте, содержимое и дата построения - соответствуйuт ожидаемому.
Порядок компиляции проектов - проверен - библиотека успешно строится ДО тех проектов в которых она не находится.
Лог билда подтверждает успешное построение библиотеки.
При глюке компилировать можно несколько раз - с разными результатами.
Иногда второй билд фиксит проблему, иногда - и 4-5-й не фиксят.
Проблема всегда фиксится если отдельно скомпилировать только эту библиотеку.
Непонятно - где ковырять?
Вроде ничего критичного не менял, а вона оно как выворачивается...
Вин 7 сп1, битдефендер ент атвирь...
Здравствуйте,
Я бы подозревал не столько библиотеку, сколко проект, которому ее нехватает.
Если есть паралелный билд - попробуйте отключить (возможно, что проект требующий проблемную библиотеку собирается раньше самой библиотеки).
Что, если не пересобирать ту библиотеку? Оставить собранной? Будут те-же ошибки?
Успехов!
не столько библиотеку, сколко проект, которому ее нехватает
------
Их, проектов, много. Часть - билдится нормально. Штук 7-8 - не находят либу.
паралелный билд
-----
Обычный последовательный буилд. Т.е. есть гарантия, что библиотека правильно собрана и помещена куда надо.
возможно, что проект требующий проблемную библиотеку собирается раньше самой библиотеки
-----
Лог билда говорит что все нормально - сначала та, которую не находят, потом - остальное - ГЛЮК!!!
если не пересобирать ту библиотеку? Оставить собранной? Будут те-же ошибки?
-----
Может глючить, может не глючить...
Но потом точно будет сильная головная боль с поиском проблем с версией либы.
Log:
61>------ Rebuild All started: Project: Clients.ZenithStaybrite.v11, Configuration: Debug Any CPU ------
59>CSC : error CS0006: Metadata file 'E:\SVN\CG\CG.Import\Apps\Bin\Debug\CG.Import.dll' could not be found
Сообщение:
Severity Code Description Project File Line Suppression State
Error CS0006 Metadata file 'E:\SVN\CG\CG.Import\Apps\Bin\Debug\CG.Import.dll' could not be found Clients.CamDenGroup E:\SVN\CG\CG.Import\Apps\CG.Clients\Clients.CamDenGroup\CSC 1 Active
П.С. Об разных клиентах, но по обоим - не компилит...
И reference нормальные без "вопросиков"?
-----
Referense - почти нормальные.
Референсе - именно на либу, не на проект либы.
Солюшен билдится в двух местах - на рабочей станции и на CI. На CI - все нормально.
Соответственно - есть условие, по которому "меняется" путь откуда надо брать либу.
Но либа ТАМ всегда есть - если не свежая, то предыдущая... а изменений в ней давно нет.
Упсс... надо перепроверить - при переезде могло слететь... но не должно влиять - обычно же работает...
Соответственно - есть условие, по которому "меняется" путь откуда надо брать либу.
А зачем?
Мы специально проверяли чтобы проект с репозитория без модификаций компилился на "голой машине".
Не видит либу даже если ее "руками" подцепить по новой? Тогда что то не соответствует.
А зачем?
-----
У меня положение проекта в СВН не корелирует с тем, где он в файловой системе.
Т.е. когда Я выкачиваю проект в СИ - там пути будут другие. Вот это и корректируется.
Поменять в СВН - не предлагай - там бардак и разгребать его мне не хочется.
чтобы проект с репозитория без модификаций компилился
-----
Ну а у меня проверено чтобы с модификациями компилировался...
и работает нормально - проблема появляется только на рабочей станции.
Не видит либу даже если ее "руками" подцепить по новой?
-----
Да не надо ее цеплять по новой - надо просто перекомпилировать еще раз.
Если не поможет со второго-третьего раза - компилировать отдельно проект.
Это решает проблему... на неопределенный срок.