Подтвердить что ты не робот

Как передать переменную TFS в задачу MSBuild проекта

У меня есть решение, которое построено на сервере TFS. Это решение включает несколько проектов, которые имеют пользовательские задачи MSBuild. Эти задачи фактически создают некоторые zip-архивы.

Мне нужно как-то извлечь макросы $(Rev) из сборки TFS и передать ее задачам. Я попытался использовать MSBuildArguments на вкладке процесса определения сборки, и он работает, когда я устанавливаю простое строковое значение, например:

/p: Version = "5"

но он не работает с макросами:

/р: версия = "$ (Откр: г)"

enter image description here

Есть ли у вас какие-либо идеи?

Изменить: мне действительно нужен BuildDetail.BuildNumber.

4b9b3361

Ответ 1

Вы можете слегка изменить шаблон процесса сборки для достижения этого.
По умолчанию раздел, относящийся к MSBuild, выглядит следующим образом:
enter image description here
Это можно развернуть примерно так:
enter image description here

Если теперь вы входите в "Аргументы MSBuild" вашего определения сборки (похожего на ваше изображение) примерно как /p:Version=RePlAcE, вы должны получить то, что вам нужно.

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