11/10/2010 16:49 El Bruno

[MSBUILD] Tareas comunes para trabajar con archivos en MSBuild

image47dd1de4

Buenas,

MSBuild posee Out Of The Box una serie de tareas que permiten compilar un proyecto, mostrar mensajes en la consola, etc.; y entre ellas hay varias que son muy útiles para trabajar con archivos. Como uno de los principios que siempre intento seguir es no reinventar la rueda, si en algún momento necesito copiar un archivo, por ejemplo; pues me fijaré si no existe una tarea OOTB para esta acción antes de escribir mi propia Custom Task. El listado completo de tareas OOTB es el siguiente http://msdn.microsoft.com/en-us/library/7z253716.aspx, y dentro del mismo hoy voy a trabajar con alguna de las las siguientes tareas:

  • Copy. Copia uno o más archivos.
  • Delete. Elimina uno o más archivos.
  • MakeDir. Crea uno o más directorios.
  • Move. Mueve uno o mas archivos.
  • RemoveDir. Elimina uno o más directorios.

El siguiente proyecto utiliza estas tareas para trabajar con los binarios que se instalan con Enterprise Library 5.0 en [C:\EntLib50Src\bin\]

   1: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
   2:          InitialTargets="Target1">
   3:   <PropertyGroup>
   4:     <CreateDir>C:\NewDir\</CreateDir>
   5:   </PropertyGroup>
   6:   <ItemGroup>
   7:     <SourceFiles Include="C:\EntLib50Src\bin\*.*"/>
   8:   </ItemGroup>
   9:   <Target Name="Target1">
  10:     <!-- Crea un directorio en C:\NewDir\-->
  11:     <MakeDir Directories="$(CreateDir)" />
  12:     <!-- Copia los binarios de EntLib -->
  13:     <Copy SourceFiles="@(SourceFiles)"
  14:           DestinationFiles="@(SourceFiles->'$(CreateDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
  15:     <!-- Elimina los archivos xml -->
  16:     <ItemGroup>
  17:       <DeleteFiles Include="$(CreateDir)*.xml"/>
  18:     </ItemGroup>
  19:     <Delete Files="@(DeleteFiles)" />
  20:   </Target>
  21: </Project>

Si bien es auto explicativbo (ver los comentarios), este proyecto realiza lo siguiente:

  • Crea un nuevo directorio (línea 11)
  • Copia todos los archivos de EntLib al nuevo directorio (líneas 13 y 14)
  • Elimina los archivos con extensión *.xml (línea 19)

Si vemos el directorio original y el nuevo directorio creado, podremos ver la diferencia entre los mismos.

image

Saludos @ Here

El Bruno

   

Archivado en: ,,,
Comparte este post:

# [MSBUILD] Recopilatorio de enlaces para comenzar a conocer MSBuild (II)

Thursday, October 28, 2010 8:40 AM by El Bruno

Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo empezar

# [#MSBUILD] Recopilatorio de enlaces para comenzar a conocer MSBuild (III)

Tuesday, September 27, 2011 9:10 PM by El Bruno

Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo

# [#MSBUILD] Recopilatorio de enlaces para comenzar a conocer MSBuild (III)

Wednesday, September 28, 2011 8:34 PM by El Bruno

Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo