Используйте $ (SolutionName) в параметрах командной строки MsBuild

Чтобы эмулировать параметр «PerProject» в сборке XAML TFS 2013 в новых сборках на основе задач Build 2015, я хотел бы иметь возможность передавать SolutionName в аргументы командной строки msbuild без необходимости каждый раз устанавливать его вручную.

Я хотел бы сделать что-то вроде:

/p:OutputPath=$(Build.BinariesDirectory)\$(SolutionName)\

Где я бы хотел, чтобы MsBuild выводил параметр $ (SolutionName). Но при передаче этого в командной строке новый исполнитель задач заменит$(Build.BinariesDirectory) с правильным целевым путем и листьями$(SolutionName) в одиночестве. К сожалению, MsBuild впоследствии также оставляет собственность одну:

Copying file from "obj\Debug\TFSBuild.exe" to "bin\debug\$(SolutionName)\TFSBuild.exe".
TFSBuild -> b\$(SolutionName)\TFSBuild.exe
Copying file from "obj\Debug\TFSBuild.pdb" to "b\$(SolutionName)\TFSBuild.pdb".

Я не могу вспомнить, как передать свойство в командную строку и сделать ли его позднее расширение ... Любые советы?

Для тех, кто хочет подражатьSingleFolder или жеAsConfiguredэто легко:

SingleFolder -> /p:OutputPath="$(Build.BinariesDirectory)"
Asconfigured -> don't pass OutputPath
PerProject   -> /p:OutputPath="$(Build.BinariesDirectory)\HARDCODESOLUTIONNAME"

Ответы на вопрос(1)

Ваш ответ на вопрос