Esto debería ser simple, pero no puedo encontrar cómo hacerlo (o tal vez no sea posible).¿Cómo realizo una prueba de condición MSBuild si un grupo de elementos contiene un elemento?
En MSBuild tengo un ItemGroup que es una lista de archivos. quiero para ejecutar una tarea sólo si un archivo en particular está en que ItemGroup
Algo así como:
<Copy Condition="@(Files) <contains> C:\MyFile.txt" .... />
Cualquier manera de hacer esto? Preferiblemente sin escribir una tarea personalizada.
Editar: La lista de archivos solo tiene que ver con la condición. De lo contrario, no tiene relación con la tarea.
Sí, esto debería funcionar. % lo hará "iterar" a través de todos los archivos existentes ... es equivalente a: etc ... –
Quizás he entendido mal esto, pero en realidad solo quiero ejecutar la copia una vez, y lo que estoy copiando no está en la lista de archivos, es algo diferente. La lista de archivos es solo para la condición – Ray
. Se repetirá en varios lotes, pero la tarea Copiar se ejecutará solo una vez, cuando la condición sea verdadera. @ (Archivos) no necesita ser el conjunto de archivos que está copiando, solo lo estamos usando aquí para asegurarnos de ejecutar esta tarea de Copiar solo si "C: \ MyFile.txt" está presente en @ (Archivos) . – radical