If statement NAnt:无法解析为布尔值
If statement NAnt:无法解析为布尔值,if-statement,nant,type-conversion,If Statement,Nant,Type Conversion,${deployErrors}是从正则表达式捕获组填充的,具有数值或空字符串。如何检查NAnt if块中的该值是否大于0?如果部署错误包含“1”,则会出现以下错误 “1>0”不是的有效值 属性的“测试”。 无法将“1>0”解析为布尔值。 字符串未被识别为有效的布尔值 我没有试过,但我认为你需要在花括号中表达你的全部表情: 从OP更新: 这起到了作用: <if test="${deployErrors} > 0"> <fail message="MSDep
${deployErrors}
是从正则表达式捕获组填充的,具有数值或空字符串。如何检查NAnt if块中的该值是否大于0?如果部署错误包含“1”,则会出现以下错误
“1>0”不是的有效值
属性的“测试”。
无法将“1>0”解析为布尔值。
字符串未被识别为有效的布尔值
我没有试过,但我认为你需要在花括号中表达你的全部表情:
从OP更新:
这起到了作用:
<if test="${deployErrors} > 0">
<fail message="MSDeploy failed" />
</if>
如果需要对实际数值执行某些操作,则可以执行以下操作:
<if test="${deployErrors != ''}">
类似于Trystan的回答-将字符串解析为布尔值,例如
true
,false
<if test="${int::parse('0' + deployErrors) > 10}">
谢谢,这使我走上了正确的道路。我无法比较它们,因为部署错误将转换为数字。但是,将其与“”进行比较是可行的。
<if test="${bool::parse(isEnabled)}">