Me gustaría ejecutar una tarea si falta algún archivo en una lista de elementos. ¿Cómo puedo hacer eso?¿Cómo puedo verificar si existe algún archivo en una lista de elementos usando msbuild?
Mi script actual tiene una lista de archivos "fuente" @ (MyComFiles) que traduzco otra lista de archivos "destino" @ (MyInteropLibs), mediante las siguientes tareas:
<CombinePath BasePath="$(MyPath)\interop"
Paths="@(MyComFiles->'%(filename).%(extension)')">
<Output TaskParameter="CombinedPaths"
ItemName="MyInteropLibs" />
</CombinePath>
Quiero comprobar si falta alguno de los archivos en @ (MyInteropLibs) y ejecuta una tarea que los creará.
Preferiría hacerlo en msbuild. Es posible usar una función Exists() en el atributo Condicional de una tarea, pero solo funciona en un archivo. –
No parece que MSBuild tenga la funcionalidad incorporada. Tampoco veo dicha funcionalidad en MSBuild Extension Pack o MSBuild Community Tasks. Como sugirió Crippledsmurf, puedes crear tu propia tarea personalizada de MSBuild que hará lo que necesites. A continuación, hace referencia al dll en su archivo de compilación y llama a la tarea según sea necesario. – Pedro