VS 2013 Release Management – ​​недопустимые символы в пути

Я создал пользовательское действие развертывания на основе утилиты командной строки TFS 2010, TF.exe. При выполнении из командной строки DOS на сервере агента развертывания он работает нормально.

TF view /collection:uri "$source path" > "local path"

и файл загружается без необходимости в рабочем пространстве. Однако при выполнении через VS2013RM получаю ошибку:

Illegal characters in path.

Когда я наводил курсор на столбец сообщений, он читал:

The installation command \"my correct command line here\" failed with the exit code \"100\"

Что дает? Почему в одном месте работает нормально, а в другом нет? Клиент RM работает под учетной записью сетевой службы, которая является частью учетных записей локальных администраторов и служб коллекции.

После включения журнала

Я смог захватить эту команду:

Deployment: **********Installing component using command "C:\DevOps\TfsClient\TF.exe view /collection:http://[removed detail] "$/[removed detail]/MetastoreCS.xml" > "F:\[removed detail]\MetastoreCS.xml""

Чем ошибка

9/24/2014 10:58:10 AM - Information - (12628, 26560) - Deployment: Exception The installation  command \"C:\DevOps\TfsClient\TF.exe view /collection:http://[removed detail] "$/[removed detail]/MetastoreCS.xml" > "F:\[removed detail]\MetastoreCS.xml"\" failed with the exit code \"100\".

person Darek    schedule 23.09.2014    source источник
comment
это кавычки вокруг исходного пути и т. д.? и разве вы не используете другую версию TF, если запускаете VS2013?   -  person timB33    schedule 23.09.2014
comment
Котировки на месте, та же версия TF   -  person Darek    schedule 23.09.2014
comment
Включите журналы на стороне агента и дайте нам фактическую выполненную команду. blogs.msdn.com/b/visualstudioalm/archive/2013/12/13/   -  person joerage    schedule 24.09.2014
comment
@Darek Я имел в виду, что это двойные кавычки, что произойдет, если вы используете одиночные?   -  person timB33    schedule 24.09.2014
comment
Отличный совет, @joerage. Спасибо за ссылку.   -  person Darek    schedule 24.09.2014


Ответы (1)


Похоже, проблема связана с символом перенаправления '>'.

Я смог заставить его работать, используя опцию /output. См. документацию по tf view.

C:\DevOps\TfsClient\TF.exe view /collection:http://[removed detail] "$/[removed detail]/MetastoreCS.xml" /output:"F:\[removed detail]\MetastoreCS.xml"
person joerage    schedule 25.09.2014
comment
Должно быть /output:[Имя файла], но решение работает. По какой-то причине в прошлом я думал, что столкнулся с необходимостью создания рабочего пространства, что было бы большим запретом, но на этот раз это сработало. Следует иметь в виду одну вещь: если вы измените определение Инструмента, вы должны отказаться от предыдущей отклоненной версии. В противном случае будет использована старая команда. - person Darek; 25.09.2014
comment
Я сделал регулировку. Обратите также внимание, что вам не нужно отказываться от отклоненного релиза. Пока вы создаете новый релиз, все будет хорошо. - person joerage; 26.09.2014
comment
Это означает, что на существующие выпуски не влияют изменения инструментов, действий, компонентов, шаблонов выпусков. Релиз — это моментальный снимок ваших элементов конфигурации. - person joerage; 26.09.2014
comment
Правильно, я имел в виду, что вы не можете перезапустить отклоненный выпуск. Это не удастся. - person Darek; 27.09.2014