2013-06-12 3 views
0

По сути, я хочу написать свою командную строку программы в файле msbuild. Это может иметь много преимуществ, например, возможность использовать другую командную строку в зависимости от $ Conditions и возможность их сохранения непосредственно в .csproj для управления потомством и версией.Измените аргументы командной строки msbuild внутри msbuild

Возможно ли это? Псевдокод:

<Commandline> 
/test=test /Name=test /Mode=whatever /lotsMore=more,more 
</Commandline> 

Тогда .csproj, в котором он находится, следует использовать эту командную строку при выполнении.

ответ

0

MsBuild намного опережает вас. Большинство параметров командной строки переходят к свойствам в файле проекта msbuild, поэтому вы можете в качестве альтернативы сделать условные группы свойств.

<PropertyGroup> 
    <Name>Default Name</Name> 
    <Mode>Default</Mode> 
    <Test></Test> 
</PropertyGroup> 

<PropertyGroup Condition="$(Test)=='true'"> 
    <Name>Test</Name> 
    <Mode>Whatever</Mode> 
    <Test>test</Test> 
</PropertyGroup> 
+0

Вы попробовали? Я делаю a/test = world, а на этапе AfterBuild выполняю задачу Message с текстом = «Hello $ (test)», но он печатает только «Hello». Кроме того, это не позволило бы мне добавить какое-либо «свойство» в командную строку, что она еще не имеет права? – Blub

Смежные вопросы