Как передать переменные в MSBuild с помощью VSTS

Я смотрю на VSTS Build глазами пользователя Teamcity. Я хотел бы настроить несколько сборок, каждая из которых имеет одинаковый набор параметров для использования MSBuild. Например, я хотел бы, чтобы все мои сборки разделяли параметр CreateHardLinksForCopyFilesToOutputDirectoryIfPossible.

Я знаю, что могу выписать вручную /p:CreateHardLinksForCopyFilesToOutputDirectoryIfPossible=true в каждой конфигурации сборки, которую я настраивал, но я бы предпочел установить это один раз, используя переменную system. Однако, когда я устанавливаю свои переменные с помощью редактора переменных, агент VSTS преобразует имена переменных в верхний регистр (а также преобразует "." В "_" и другие преобразования), что означает, что msbuild не смотрит на них (это было ожидая правильной версии PascalCased). Я подтвердил это, выводя все текущие переменные среды во время сборки. Я не вижу никакой документации о том, почему это происходит.

Есть ли шаблон для передачи параметров MSBuild через систему переменных?

1 ответ

Решение

Для имени переменной VSTS он не зависит от регистра. Вам просто нужно сосредоточиться на значении переменной.

Например, если у вас есть переменная tHisIsMixEdCase со значением /p:CreateHardLinksForCopyFilesToOutputDirectoryIfPossible=true,

Тогда неважно использовать $(THISISMIXEDCASE) или же $(tHisIsMixEdCase) в опции аргументов MSBuild они оба работают так же, как и при использовании /p:CreateHardLinksForCopyFilesToOutputDirectoryIfPossible=true непосредственно.

Другие вопросы по тегам