Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 带有'|';在争论中_Ant - Fatal编程技术网

Ant 带有'|';在争论中

Ant 带有'|';在争论中,ant,Ant,我试图在ANT脚本中使用IncredBuild执行VS构建,但由于某些原因,执行任务失败,出现以下错误: “Win32”未被识别为内部或外部命令 当我使用以下代码时: <arg line='buildconsole solution.sln /rebuild /cfg="Release|Win32"' /> 我认为ant脚本可能将“|”视为delimter或其他东西 你知道我该怎么做吗 我也尝试过以下方法,但没有什么能让我更接近: <arg line='buildcons

我试图在ANT脚本中使用IncredBuild执行VS构建,但由于某些原因,执行任务失败,出现以下错误:

“Win32”未被识别为内部或外部命令

当我使用以下代码时:

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

我认为ant脚本可能将“|”视为delimter或其他东西

你知道我该怎么做吗

我也尝试过以下方法,但没有什么能让我更接近:

<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;" />

我认为问题在于Windows命令提示符会看到|,并将其视为“管道”操作符。也许可以使用以下方法逃离管道:


我认为问题在于Windows命令提示符会看到|,并将其视为“管道”操作符。也许可以使用以下方法逃离管道:


您需要通过在管道符号前面加上^来转义管道符号。因此:

<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>

您需要通过在管道符号前面加上^来转义管道符号。因此:

<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>

嗯。。。我只是再试了一次,结果成功了,但只是在我改成

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

所以我想如果我使用value,那么在Release^ | Win32中的引号是不必要的


非常感谢

嗯。。。我只是再试了一次,结果成功了,但只是在我改成

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

所以我想如果我使用value,那么在Release^ | Win32中的引号是不必要的

非常感谢