5

Я пишу шаблон пользовательских действий шаблона процесса сборки. У меня возникла проблема при создании этой операции.Ошибка сборки TFS - «Указанный путь, имя файла или оба слишком длинны ...»

>XamlBuildTask : error XC1043: Extension 'Microsoft.Activities.Build.BeforeInitializeComponentExtension' threw an exception of type 'System.IO.PathTooLongException' : 'The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.'. 

У вас есть идеи? Пожалуйста помоги!

ответ

4

Я нахожу один совет here. Надеюсь, это будет полезно для вас.

В настоящее время существует два способа решения:

уменьшить пространство имен в рабочем процессе х: свойство класса. Это приводит к тому, что сгенерированный файл имеет более короткое имя.

Используйте команду subst или mklink для , создайте сопоставление таким образом, чтобы путь, в котором находится решение, становится единицей меньше. В сборке команд необходимо изменить отображение рабочей области .

+0

благодарит за помощью! –

+0

Мои шаги сборки хранятся в каталоге «артефакты», и мой шаг публикации опубликовал этот каталог под другим именем. Похоже, что по совпадению агент TFS использовал по умолчанию имя «артефакты» в качестве адресата публикации. Так или иначе, мой каталог «артефактов» рос рекурсивно с каждой сборкой, пока я не получил ошибку о превышении максимальной длины пути. –

0

Это все еще происходит в 2015 году TFS

Это лучший ответ, который я получил изменения строить свойства агента Properties to save path space

  1. диалог агент Пропертиса сборки определяет "Рабочий справочник" для агента сборки, по умолчанию - «$ (SystemDrive) \ Builds \ $ (BuildAgentId) \ $ (BuildDefinitionPath)». Основываясь на на приведенной выше ссылке, я собираюсь перейти с «$ (SystemDrive) \ B \ $ (BuildDefinitionId)» - это должно взять «uilds» из базового каталога, название проекта TFS (19 символов), - обратная косая черта и имя сборки (7 символов), и замените их только с 32-разрядным номером (должно быть не более 10 цифр, но , так как оно начинается с 1, это гораздо более вероятно должно быть 3-4 цифры), экономя меня минимум на 23 символа
  2. Возможно, мне не удалось сократить $ (SourceDir), но это просто «$ (BuildDir) \ Sources», правильно? Я могу просто сконфигурировать сборку, чтобы вытащить код «$ (BuildDir) \ S» вместо «$ (SourceDir)», а I должен сохранить еще 6 символов, доведя меня до 29 символов, , которые должны быть достаточно

 Смежные вопросы

  • Нет связанных вопросов^_^