Как передать переменную TFS в задачу MSBuild проекта
У меня есть решение, которое построено на сервере TFS. Это решение включает несколько проектов, которые имеют пользовательские задачи MSBuild. Эти задачи фактически создают некоторые zip-архивы.
Мне нужно как-то извлечь макросы $(Rev) из сборки TFS и передать ее задачам. Я попытался использовать MSBuildArguments на вкладке процесса определения сборки, и он работает, когда я устанавливаю простое строковое значение, например:
/p: Version = "5"
но он не работает с макросами:
/р: версия = "$ (Откр: г)"
![enter image description here]()
Есть ли у вас какие-либо идеи?
Изменить: мне действительно нужен BuildDetail.BuildNumber.
Ответы
Ответ 1
Вы можете слегка изменить шаблон процесса сборки для достижения этого.
По умолчанию раздел, относящийся к MSBuild, выглядит следующим образом:
![enter image description here]()
Это можно развернуть примерно так:
![enter image description here]()
Если теперь вы входите в "Аргументы MSBuild" вашего определения сборки (похожего на ваше изображение) примерно как /p:Version=RePlAcE
, вы должны получить то, что вам нужно.
В другом постройте определение там, где вам это не нужно, просто оставьте запись пустой. Этот подход является альтернативой найденному здесь и должен быть выбран, если эта версия-вставка явно не требуется для всех определений построения, потребляющих ее.