Der Zugriff auf die NAnt-Properties ist meiner Meinung nach etwas unglücklich gewählt, da zwei verschiedene Varianten je nach Kontext benutzt werden müssen.
Folgendes Beispiel zeigt sehr schön die beiden Varianten, wie NAnt-Properties im jeweiligen Zusammenhang angewendet werden müssen:
if="${file::exists(Directory + '' + File + '.new')}" />
Dieser Befehl löscht die Datei, falls sie vorhanden ist. Für den Dateinamen muss die Syntax mit dem ${} benutz werden, die so genannte ‚property expansion‘.
Für die Bedingung wird dann die Methode für den Zugriff auf das Property innerhalb einer Expression benutzt. Dabei wird auf ${} verzichtet.