<if test="${deployErrors} > 0">
<fail message="MSDeploy failed" />
</if>
${deployErrors}
從正則表達式捕獲組填充並且具有數值或空字符串。如何在NAnt if塊中檢查它是否大於0?如果部署錯誤包含'1',則出現以下錯誤:NAnt:無法解析爲布爾值
'1> 0'對於 屬性'test'而言不是有效值。 無法將'1> 0'解析爲布爾值。 字符串未被識別爲有效的布爾值。
<if test="${deployErrors} > 0">
<fail message="MSDeploy failed" />
</if>
${deployErrors}
從正則表達式捕獲組填充並且具有數值或空字符串。如何在NAnt if塊中檢查它是否大於0?如果部署錯誤包含'1',則出現以下錯誤:NAnt:無法解析爲布爾值
'1> 0'對於 屬性'test'而言不是有效值。 無法將'1> 0'解析爲布爾值。 字符串未被識別爲有效的布爾值。
我還沒有嘗試過,但我認爲你需要你的表達的花括號內全:
<if test="${deployErrors > 0}">
See also the second example in the documentation page.
從OP更新:
這工作:
<if test="${deployErrors != ''}">
如果你需要做一些實際的數值,那麼你可以做這樣的事情:
<if test="${int::parse('0' + deployErrors) > 10}">
類似Trystan的答案 - 將一個字符串解析到一個布爾值,爲一個字符串例如true
,false
<if test="${bool::parse(isEnabled)}">
從http://nant.sourceforge.net/release/0.85/help/functions/bool.parse.html
謝謝,這讓我在正確的軌道上。我無法比較它們,因爲deployErrors將轉換爲數字。但是,比較它的作品。 – 2011-05-06 09:32:24