Как я могу получить список свойств, с которыми вызывался MSBuild? - PullRequest
1 голос
/ 19 февраля 2010

С учетом этой команды:

MSBuild.exe build.xml /p:Configuration=Live /p:UseMerge=true /p:EnableUpdateable=false

как мне сформировать такую ​​строку в моем скрипте сборки:

UseMerge=true;EnableUpdateable=true

где я мог бы не знать, какие свойства использовались в командной строке.

1 Ответ

1 голос
/ 19 февраля 2010

Что вы собираетесь делать со списком?

В PowerShell 2.0

нет встроенных «свойств, передаваемых через командную строку».

Помните, что свойства могут быть получены из переменных среды и / или других сценариев.

Кроме того, в вашем примере вы исключили параметры.

Обычно, если кто-то пытается соединиться с другой командой, он использует значения по умолчанию (Condition s для элементов в PropertyGroup s) и проверку (Message s Condition al при наличии параметров), а затем либо создайте новое свойство, либо вставьте параметры, которые вы хотите передать, в строку.

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

Как описано в http://www.simple -talk.com / dotnet / .net-tools / extending-msbuild / , можно выгрузить параметры, переданные с помощью /v:diag в командной строке (но это, очевидно, не то, что вы после).

Загляните в файлы Common.targets - вы найдете множество случаев цепного ввода, включающих создание списков вручную для передачи на подчиненные задачи.

...