.net 不在NANT中工作(目标/选择/样式)

.net 不在NANT中工作(目标/选择/样式),.net,nant,.net,Nant,我在添加名为Add_RequestFiltering的参数时遇到问题。这似乎不起作用。。。如果删除该参数,则会添加该参数。ConfigXml的值是OK。它必须是语法。。。任何帮助都将不胜感激 <target name="ConfigFiles" depends=""> <echo>${ConfigXml}</echo> <choose> <when test="${TargetPlatform == 'TARGET_64BIT'}"&g

我在添加名为Add_RequestFiltering的参数时遇到问题。这似乎不起作用。。。如果删除该参数,则会添加该参数。ConfigXml的值是OK。它必须是语法。。。任何帮助都将不胜感激

<target name="ConfigFiles" depends="">
<echo>${ConfigXml}</echo>

<choose>
  <when test="${TargetPlatform == 'TARGET_64BIT'}">
    <style style="..\Configuration\${ConfigXslt}" in="..\Configuration\${ConfigXml}" out="${ConfigOutput}.dev" verbose="true">
      <parameters>
        <parameter name="type" value="dev" />
      </parameters>
    </style>
    <style style="..\Configuration\${ConfigXslt}" in="..\Configuration\${ConfigXml}" out="${ConfigOutput}.test" verbose="true">
      <parameters>
        <parameter name="type" value="test" />
        <if test="${ConfigXml=='Front.xml'}">
            <parameter name="Add_RequestFiltering" value="1" />
        </if>
      </parameters>
    </style>
    ...
以下是我在xslt中检查它的方法:

...
<xsl:if test="$Add_RequestFiltering='1'">
   ...
</xsl:if>
...
编辑:我也试过这样做:

    <style style="..\Configuration\${ConfigXslt}" in="..\Configuration\${ConfigXml}" out="${ConfigOutput}.test" verbose="true">
      <parameters>
        <parameter name="type" value="test" />
        <parameter name="Add_RequestFiltering" value="1" if="${ConfigXml=='Front.xml'}" />
      </parameters>
    </style>

使用此选项,每次都会添加参数,无论ConfigXml值是否为Front.xml。。。如果传递值“0”,则xslt将正确读取参数。看起来问题出在if条件下。

每次我的大脑记录到我犯的错误后,我都会觉得自己很愚蠢。我意识到我可以将${ConfigXml}的值作为Add_RequestFiltering参数的值。在xslt中,我只需检查一下就可以了。但是我真的想知道在我的问题中使用IF条件的正确方法是什么。第二种方法,在参数标记上使用IF作为属性是正确的方法。你能再检查一下它是否按你想象的方式工作吗?