Pregunta

Estoy usando msbuild extensionpack. Me gustaría copiar todo el contenido del directorio de compilación a otro directorio en el sistema de archivos. No quiero cambiar el nombre del directorio de destino, simplemente reemplace el contenido. Podría ser mi falta de familiaridad con MSBuild ExtensionPack, pero parece que esto debería ser fácil y no he podido encontrar documentación fácilmente disponible en la web.

Estoy tratando de configurar un servicio que se implementa automáticamente en el entorno de integración continua después de una compilación exitosa.

¿Fue útil?

Solución

Hasta donde recuerdo, deberá borrar y copiar en pasos separados. Así que primero la eliminación/purga, luego copie. No pude (en el momento en que lo hice) encontrar una manera de "sobrescribir". Esto realmente funcionó mejor para nosotros, una compilación, una compilación puede eliminar archivos que contenía uno anterior, por lo que no quisiéramos que "permanezcan".

Para eliminar, intente (suponiendo implementmentDesIntationPath es una propiedad con la ruta):

<MSBuild.ExtensionPack.FileSystem.Folder
     TaskAction="RemoveContent" 
     path="$(DeploymentDestinationPath)" />

Y luego copie (observe que necesita llenar un grupo de elementos tanto para la fuente como para el destino)

<ItemGroup>    
      <DeploymentSourceFiles
           Include="$(BuildFolder)\**\*"
      />  
      <DeploymentDestinationFiles
           Include="@(DeploymentSourceFiles->
           '$(DeploymentDestinationPath)\%(RecursiveDir)%(Filename)%(Extension)')"
      />  
</ItemGroup>

<Copy SourceFiles="@(DeploymentSourceFiles)"
     DestinationFiles="@(DeploymentDestinationFiles)" />

No he hecho esto en unos meses, así que perdón si alguno de estos ejemplos requiere un poco de ajuste.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top