Сконфигурируйте TeamCity для следования директивам OutputPath в файлах csproj - PullRequest
0 голосов
/ 21 июля 2010

Я настраиваю TeamCity для создания некоторых решений, проекты которых имеют директиву OutputPath, которая перенаправляет сборку в ../../bin/Release или ../../bin/Debug.Решения, очевидно, прекрасно работают в Visual Studio 2008, но когда TeamCity создает решения, ему не удается найти сборки ссылочных проектов, и мы получаем ошибки пространства имен (имя типа или имени пространства имен SomeReferencedAssembly не существует в пространстве имен AssemblyBeingBuilt).1001 *

Есть ли способ сообщить TeamCity, где искать ссылочные проекты, сборки которых не находятся в расположении по умолчанию?Он понимает директиву, потому что при построении ссылочного проекта выходные данные направляются правильно.Просто другие проекты, которые он строит потом, не находят сборок, от которых они зависят.

Ответы [ 2 ]

1 голос
/ 27 июля 2010

Используете ли вы средство решения в Teamcity? Если это так, то расположение ссылок указывается в каждом csproj. Вам не нужно делать никаких дополнительных настроек.

Убедитесь, что ссылки являются ссылками на проекты, а не ссылками на сборки. Ссылка на сборку может указывать на ../../bin/debug/assembly.dll, которая не разрешается при компиляции в выпуске.

Вы можете посмотреть в csproj, чтобы подтвердить, или Visual Studio покажет только раскрывающийся список «Конкретная версия» в Свойствах для ссылок на сборки.

1 голос
/ 22 июля 2010

Являются ли необоснованные ссылки сторонними (код, который вы не компилируете), или ваш код?

Если вы сторонний разработчик, то вы хотите убедиться, что корень репозитория управления исходным кодом, на который вы указываете, приводит к проверке зависимостей. (или хуже, помещать их в GAC или устанавливать на каждом сервере сборки, не очень хорошая идея, если вам не нужно)

Если ваш код, они построены проектом в том же решении или другом?

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

Если 2 разных решения, то вы должны использовать Зависимости (раздел 5), чтобы установить зависимости Артефакта.

...