Как обновить переменную среды из задачи Exec? - PullRequest
1 голос
/ 18 марта 2010

Я пытаюсь передать вывод команды из переменной среды следующим образом:

<Exec Command="for /f &quot;tokens=*&quot; %%i in ('svn info') do SET SVNINFO=%%i" />

, а затем использовать SVNINFO как свойство в MSBuild.

В то время как аналог командной строки:

for / f "tokens = *"% i in ('svn info') do SET SVNINFO =% i

работает, изменение значения переменной Environment при вызове из Exec не сохраняется. (Я не могу получить его значение как собственность.) Я что-то здесь упускаю? Есть ли лучший способ добиться этого?

1 Ответ

0 голосов
/ 24 марта 2010

Может быть, лучше использовать Exec Task Output:

<Project DefaultTargets="DefaultTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="Exe">
        <Exec Command="echo %PATH%">
            <Output TaskParameter="Outputs" PropertyName="ExecOutput" />
        </Exec>
    </Target>

    <Target Name="DefaultTarget" DependsOnTargets="Exe">
        <Message Text="Result from Exec is $(ExecOutput)" />
    </Target>

</Project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...