2010-03-19 19 views
5

que tienen una secuencia de comandos de NAnt, como a continuación:Cómo convertir la condición 'si' en NAnt en MSBuild?

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

Lo que quiero es convertirla en guión MSBuild. Encontré que hay etiquetas para escribir las condiciones, pero solo se utiliza para definir la propiedad/elemento.

¿Podemos escribir la condición 'si' en MSBuild? Por favor ayuda!

Respuesta

5

Cada tarea msbuild tienen un parámetro Condición opcional por lo que podría hacer esto:

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

Editar: Si necesita una condición para ejecutar múltiples tareas, se podría repetir la tarea de parámetro Condición foreach o se puede encapsular la llamada de múltiples tareas en un objetivo

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

(los personajes y <> debe estar escapado)

+0

Gracias madgnome! Pero, ¿y si necesitamos una condición para ejecutar múltiples tareas? ... Espero saber de usted. –

+0

O use Choose/When (http://msdn.microsoft.com/en-us/library/ms164307.aspx) – yoyo

+0

O no: elija/Cuando parezca apropiado, pero desafortunadamente la construcción Choose no se puede usar en un objetivo. :-pag – yoyo

Cuestiones relacionadas