2011-10-04 46 views
0
<?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> 

它的輸出....錯誤而在惡性使用<exec>標籤

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. 

但是,當我給出了86選項,它又來了錯誤。「/是一個意外標記」

請建議該怎麼做。

+0

剛一個觀察,但是如果在''{program}}'和'commandline'屬性之間放置一個空格,那麼它是否會有所作爲? – funkymushroom

回答

1

你應該做的事:

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

我不知道爲什麼你逝去的devenv.exe爲命令行。你可能想這樣做,在一個單獨的exec任務

1

你嘗試過這樣的:

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

source

0

這裏是從VSS

獲得最新的樣本EXEC
<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>