Ошибка при использовании тега <exec>в NAnt - PullRequest
0 голосов
/ 04 октября 2011
<?xml version="1.0"?>
 <project name="Project" default="build">
 <property name="program" value="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" />
 <property name="name.proj" value="C:\project\proj.csproj" />
 <target name="build">
   <exec program="${program}"commandline="\devenv.exe ${name.proj}"  />
 </target>
</project>

Его выход ....

Error in Script usage:The Correct usage is:C:\Program Files (x86)\Microsoft Visual
Studio 9.0\VC\vcvarsall.bat" [Option], where option= x86,ia64,or x86_ia64. 

Но когда я даю параметр x86, он снова приходит с ошибкой .. "/ неожиданный токен"

Пожалуйста, предложите, что делать.

Ответы [ 3 ]

1 голос
/ 04 октября 2011

вы пробовали это:

<exec program="${program}">
    <arg value="x86" />
</exec>

источник

1 голос
/ 04 октября 2011

Вы должны делать:

<exec program="${program}" commandline="x86"  />

Я не уверен, почему вы передаете devenv.exe в качестве командной строки. Вы, вероятно, хотите сделать это в отдельной задаче exec

0 голосов
/ 06 июля 2012

Вот пример EXEC для получения последних от VSS

<target name="getlatest" >
       <property name="path.cmd.exe" value="C:\WINDOWS\system32\CMD.EXE"/>
          <property name="path.vss.bat" value="C:\Work\build\DailyBuild\nAnt\VSSGET.bat"/>

    <echo>
    -----------------------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------------------
    TASK : GET LATEST FROM VSS
    -----------------------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------------------
    </echo>
    <echo message="Task Start at: ${datetime::now()}" />

   <loadtasks assembly="nantcontrib-0.85/bin/NAnt.Contrib.Tasks.dll" />         

    <exec program="${path.cmd.exe}">
        <arg value="/C"  />     
        <arg value="${path.vss.bat}"  />
     </exec>
</target>
...