2010-03-19 11 views
5

Ho uno script NAnt come di seguito:Come convertire la condizione 'if' in NAnt in MSBuild?

<if test="${a}>${b}">  
    <call target="target"/> 
</if> 

Quello che voglio è quello di convertirlo in sceneggiatura MSBuild. Ho trovato che c'è un tag per scrivere le condizioni ma è usato solo per la definizione di proprietà/articolo.

Possiamo scrivere la condizione "se" in MSBuild? Per favore aiuto!

risposta

5

Ogni compito msbuild hanno un parametro di condizione facoltativa in modo che si possa fare questo:

<CallTarget Targets="target" Condition="${a} &gt; ${b}"/> 

Edit: Se avete bisogno di una condizione di eseguire attività multiple, si potrebbe ripetere l'operazione parametro Condizione foreach o si può incapsulare la chiamata compito multiplo in un bersaglio

<Target Name="MultipleCall" Condition="${a} &gt; ${b}"> 
    <CallTarget Targets="targetA"/> 
    <CallTarget Targets="targetB"/> 
</Target> 

(I caratteri < e> deve essere sfuggito)

+0

Grazie madgnome! Ma se avessimo bisogno di una condizione per eseguire più attività: ... Spero di sentirti. –

+0

Oppure scegli Scegli/Quando (http://msdn.microsoft.com/en-us/library/ms164307.aspx) – yoyo

+0

Oppure - Scegli/Quando sembra appropriato, ma sfortunatamente il costrutto Scegli non può essere utilizzato in un bersaglio. :-p – yoyo

Problemi correlati