任何人都可以解释一下房产对于存在"存在的意义。在南特?我对以下构建脚本有一些奇怪的行为:
<?xml version="1.0" encoding="utf-8" ?>
<project name="Test.Project" default="doIt">
<!-- property name="test.prop" value="OK" / -->
<target name="doIt">
<if test="${property::exists ('test.prop')}">
<echo>Before ${test.prop}</echo>
</if>
<foreach item="String" in="1,2,3" delim="," property="test.prop">
<echo>${test.prop}</echo>
</foreach>
<if test="${property::exists ('test.prop')}">
<echo>After ${test.prop}</echo>
</if>
</target>
</project>
定义test.prop
会导致&#34;在好之前&#34;,&#34; 1&#34;,&#34; 2&#34;,&#34; 3&#34;,& #34;好的&#34;人们期望的回声序列,但是如果test.prop没有在开始时定义(如上面的代码中那样),我得到&#34; 1&#34;,&#34; 2&#34;,&# 34; 3&#34;,然后出现以下错误:
Property evaluation failed.
Expression: After ${test.prop}
^^^^^^^^^
Property 'test.prop' has not been set.
即。该属性通过property::exists
测试,但后来表现得好像应该失败。
这是NAnt中的错误,还是我实际上应该使用除property::exists
以外的某些测试来确定我是否可以在<foreach>
中使用之后访问该属性?< / p>
[我在NAnt 0.90中找到了这个,但更新到NAnt 0.92具有相同的行为]
答案 0 :(得分:0)
看起来答案在评论中:sectionNameKeyPath:sectionIdentifier