#nant
#nant
Вопрос:
<?xml version="1.0"?>
<project name="Project" default="build">
<property name="program" value="C:Program Files (x86)Microsoft Visual Studio 9.0VCvcvarsall.bat" />
<property name="name.proj" value="C:projectproj.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.0VCvcvarsall.bat" [Option], where option= x86,ia64,or x86_ia64.
Но когда я даю параметр x86, он снова выдает ошибку ..»/ является неожиданным токеном»
Пожалуйста, предложите, что делать.
Комментарии:
1. Просто наблюдение, но имеет ли значение, если вы поместите пробел между атрибутом
"${program}"
иcommandline
атрибутом в вашем<exec>
узле?
Ответ №1:
Ответ №2:
Вы должны делать:
<exec program="${program}" commandline="x86" />
Я не уверен, почему вы передаете devenv.exe как командная строка. Вероятно, вы захотите сделать это в отдельной задаче exec
Ответ №3:
Вот пример EXEC для получения последней версии из VSS
<target name="getlatest" >
<property name="path.cmd.exe" value="C:WINDOWSsystem32CMD.EXE"/>
<property name="path.vss.bat" value="C:WorkbuildDailyBuildnAntVSSGET.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>