2008-09-19 7 views
7

Я получаю следующее сообщение об ошибке при попытке построить мое приложение с помощью команды Foundation Build:Как мне изменить каталог сборки, который использует MSBuild в Team Foundation Build?

C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets (1682,9): ошибка MSB3554: не удается записать в выходной файл «obj \ Release \ Company.Redacted.BlahBlah.Localization.Subsystems. Startup_Shutdown_Processing.StartupShutdownProcessingMessages.de.resources». Указанный путь, имя файла или оба слишком длинны. Полноценное имя файла должно быть менее 260 символов, а имя каталога должно быть меньше 248 символов.

Мой проект прекрасно строится на моей машине разработки, поскольку источник состоит только из двух папок, но TF Build, похоже, использует действительно глубокую директорию, которая вызывает ее разрыв. Как изменить папки, которые используются?

Edit: Я проверил файл .proj для моей сборки, которая хранится в системе управления версиями, и обнаружил следующее:

<!-- BUILD DIRECTORY 
This property is included only for backwards compatibility. The build directory used for a build 
definition is now stored in the database, as the BuildDirectory property of the definition's 
DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value 
in the database. 
--> 
<BuildDirectoryPath>UNKNOWN</BuildDirectoryPath> 

Если это хранится в базе данных, как я могу изменить его?

Редактировать: Нашли следующее сообщение в блоге, которое может указывать на меня, чтобы решить проблему. Теперь мне просто нужно выяснить, как изменить настройку в агенте Build. http://blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx

В настоящее время мой рабочий каталог «$ (Temp) \ $ (BuildDefinitionPath)», но теперь я не знаю, какие подстановочные знаки доступны для указания другой папки.

ответ

16

Вам необходимо отредактировать рабочий каталог сборки вашего агента сборки, чтобы путь попрошайничества был немного меньше. Чтобы отредактировать агент сборки, щелкните правой кнопкой мыши узел «Builds» и выберите «Manage Build Agents ...»

Я лично использую что-то вроде c: \ bw \ $ (BuildDefinitionId). $ (BuildDefinitionId) преобразуется в идентификатор определения сборки (отсюда и имя :-)), что означает, что вы получаете путь сборки, начинающийся с чего-то вроде c: \ bw \ 36, а не c: \ Documents and Settings \ tfsbuild \ Local Settings \ Temp \ BuildDefinitionName

удачи,

Мартин.

0

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

+0

См. Пояснение к вопросу. – Luke 2008-09-19 18:29:19

+1

Вопрос звучит так, как будто он использует TFS 2008. Это предложение является правильным ответом для TFS 2005. – 2008-09-19 18:55:06