2009-05-21 61 views
1

我想在我的ANT腳本中使用incredibuild來執行VS構建,但由於某種原因,exec任務失敗並出現以下錯誤:使用'|'的EXEC任務在參數

'Win32'未被識別爲內部或外部命令

當我使用下面的代碼:

<arg line='buildconsole solution.sln /rebuild /cfg="Release|Win32"' /> 

我覺得ant腳本可以被治療「|」作爲分界線或...

任何想法,我可以得到這個工作?

我也試過以下,但沒有讓我更接近:

<arg line='buildconsole solution.sln /rebuild /cfg="Release&#124;Win32"' /> 

<arg value="buildconsole solution.sln /rebuild /cfg=&quot;Release|Win32&quot;" /> 

<arg value="buildconsole solution.sln /rebuild /cfg=&quot;Release&#124;Win32&quot;" /> 

回答

1

嗯...我只是試圖再次和它的工作,但只有在我改

<arg value="buildconsole solution.sln /rebuild /cfg=Release^|Win32" /> 

,所以我想周圍釋放引號^如果我使用價值,Win32是沒有必要的。

非常感謝!

0

我認爲問題是,在Windows命令提示符下看到|並將其視爲「管道」操作員。通過使用,更談不上管:

< ARG線= 'buildconsole solution.sln /重建/ CFG = 「發佈\ |的Win32」'/ >

3

你需要用它前面逃跑的管道符號^ 。所以:

<arg line='buildconsole solution.sln /rebuild /cfg="Release^|Win32"' /> 

編輯:

你肯定插入符號不工作?它似乎在這個示例Ant文件:

<?xml version="1.0" encoding="UTF-8"?> 

<project name="Test" default="build" basedir="."> 

    <target name="build"> 
     <exec executable="cmd"> 
      <arg line="/k echo cfg=&quot;Release^|Win32&quot;"/> 
     </exec> 
    </target> 

</project> 
相關問題