Как изменить каталог сборки, который MSBuild использует в Team Foundation Build? - PullRequest
8 голосов
/ 19 сентября 2008

При попытке создать приложение с помощью 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, похоже, использует действительно глубокий каталог, который вызывает его разрыв. Как изменить используемые папки?

Редактировать: Я проверил файл .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 Agent. http://blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx

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

Ответы [ 2 ]

16 голосов
/ 19 сентября 2008

Вам нужно отредактировать рабочий каталог сборки вашего агента сборки так, чтобы начальный путь был немного меньше. Чтобы отредактировать агент сборки, щелкните правой кнопкой мыши узел «Сборки» и выберите «Управление агентами сборки ...»

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

Удачи,

Martin.

0 голосов
/ 19 сентября 2008

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

...