Путь TeamCity к внешним ссылочным сборкам

Я работал над настройкой TeamCity, и у меня почти все работает, за исключением возможности компилировать решения VS2005, которые ссылаются на сборки, находящиеся вне пути решения. У меня есть наше хранилище SVN структурировано следующим образом

    корень
        Библиотеки
        Проект 1
            Хобот
        Проект 2
            Хобот

Проект 1 и Проект 2 ссылаются на сторонние сборки, расположенные в библиотеках. Это прекрасно работает в среде IDE VS2005 и при вызове MSBuild для файлов решения, поскольку HintPath для всех ссылок выглядит следующим образом:

..\..\..\Libraries\ThirdParty.dll

Проблема, с которой я столкнулся, состоит в том, что, когда TeamCity умирает извлечение из SVN для Проекта 1 или Проекта 2, он помещает все во внутренние каталоги, которые не соответствуют структуре относительного пути, заданного HintPath.

Как я могу прояснить это, либо с помощью конфигурации TeamCity, либо с помощью другой конфигурации моих решений / структуры каталогов? Любой из них будет работать для моих нужд.

Спасибо!

12.10.2009 22:20:43
3 ОТВЕТА

Мы создали сетевой каталог со всеми нашими сторонними dll. Затем мы сопоставили каталог с диском.

Таким образом, dll не были частью наших решений, и все проекты просто вызывают z: \ 3rdParty \ example.dll для получения сборок.

Кто-то из моей команды на самом деле настроил наш teamcity, так что я могу совершенно ошибиться относительно того, как проблема была на самом деле решена или если у нас даже была эта проблема изначально :)

0
12.10.2009 22:38:55
Спасибо Гордон. Однако я хотел бы сохранить все внутри дерева хранилища, так что я не думаю, что ваш метод нам подходит.
Dave Nay 14.10.2009 15:50:14

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

4
21.10.2009 16:36:50

Что я сделал, так это установил VCS ROOT проекта в каталог верхнего уровня («Root» в соответствии со структурой вашего проекта). И отключил проект по умолчанию vcs root, созданный teamcity. После этого вы можете создать пользовательский шаг сборки, указав здесь свое решение «Путь к файлу решения: *» в типе сборки «Visual Studio (sln)». Теперь он правильно обрабатывает ссылки на библиотеки.

Здесь есть недостаток в том, что корень vcs находится на верхнем уровне, даже несвязанные проверки могут привести к сборке вашего проекта, что может не подходить для сборок, требующих много времени. Пока нет обходного пути для этого.

0
20.10.2016 03:44:18