Как $ (BuildProjectFolderPath) устанавливается в сборке TFS - PullRequest
4 голосов
/ 14 сентября 2011

Я чувствую, что упускаю что-то чрезвычайно простое; все же я провел часы безрезультатно. Я пытаюсь заставить работать сборку TFS, и я не могу понять, откуда это свойство устанавливается.

Я взял проект TFS 2010 от члена команды, который не может мне помочь.

У меня есть простая сборка TFS, которая создает решение.

В файле tfproj у меня есть:

<SolutionToBuild Include="$(BuildProjectFolderPath)/MySolution.sln">

Кажется, это работает, но я не могу понять, как это происходит со мной. Я нигде не установил переменную $ (BuildProjectFolderPath) или что-либо похожее на правильный путь к MySolution.sln.

Я проверил определение сборки, сценарий сборки и переменные среды в окне сборки и не могу понять, откуда берется путь, соответствующий $ (BuildProjectFolderPath).

Может ли кто-нибудь помочь мне разгадать эту черную магию?

1 Ответ

3 голосов
/ 14 сентября 2011

Ваша сборка фактически выполняется MSBuild.Когда MSuild запускается, он получает инициализированные переменные окружения определенного типа, которые зависят от проекта / решения.Например, на сервере сборки агент сборки будет вставлять свое значение BuildProjectFolderPath в MSBuild, которое используется для разрешения макроса в вашем файле tfsproj.

Никакой магии, только среда, запускаемая для обработкиваш запрос предоставляет эти значения.

enter image description here

...