2009-04-30 9 views
6

In meinem Nant-Skript möchte ich einen Eigenschaftswert mit einer bekannten Zeichenfolge vergleichen. Nach dem Lesen der Nant Expressions Dokumentation glaubte ich, dass ich in der Lage wäre, einen grundlegenden '==' Vergleich durchzuführen, um als Boolean zu bewerten.Bewertung der Eigenschaftsgleichheit in Nant

jedoch den Skriptblock gegeben:

<if test="${target.env} == Dev"> 
    <echo message="***** You are using DEV"/> 
</if> 

Wenn ich folgende Fehlermeldung empfangen ausgeführt:

'Dev == Dev' is not a valid value for attribute 'test' of <if ... />. 
    Cannot resolve 'Dev == Dev' to boolean value. 
    String was not recognized as a valid Boolean. 

Dies scheint, als ob es einfach sein sollte (und wahrscheinlich ist). Wie kann ich zwei Strings oder Eigenschaften in Nant vergleichen, um sie als Boolean zu bewerten?

Antwort

9

Siehe zum Beispiel here. z.B.

<if test="${target.env}=='Dev'"> 
    .... 
</if> 
+1

schön. Ich wusste, es wäre einfach! – berko

+1

Für mich hat das funktioniert

16

Es funktioniert auch, wenn Sie den gesamten Ausdruck in den geschweiften Klammern:

<if test="${target.env =='Dev'}"> 
    .... 
</if> 
+1

Dies funktioniert auch, wenn Sie mit einer leeren Zeichenfolge vergleichen (zB ), wo-wie die Top-Version nicht – gerrod

4

, wenn Sie zwei Variablen vergleichen wollen $ {test.var1} und $ {} test.var2 dann

<if test="${test.var1 == test.var2}"> 
.... 
</if> 
+0

Danke. Was ich suche – Geddon