Tengo un problema extraño con la forma en que se está comportando msbuild con un proyecto de implementación web VS2008 y me gustaría saber por qué parece comportarse mal al azar.Cómo eliminar varios archivos con el proyecto de despliegue web/msbuild?
Necesito eliminar una cantidad de archivos de una carpeta de implementación que solo debería existir en mi entorno de desarrollo. Los archivos han sido generados por la aplicación web durante el desarrollo/prueba y no están incluidos en mi proyecto/solución de Visual Studio.
La configuración que estoy usando es el siguiente:
<!-- Partial extract from Microsoft Visual Studio 2008 Web Deployment Project -->
<ItemGroup>
<DeleteAfterBuild Include="$(OutputPath)data\errors\*.xml" /> <!-- Folder 1: 36 files -->
<DeleteAfterBuild Include="$(OutputPath)data\logos\*.*" /> <!-- Folder 2: 2 files -->
<DeleteAfterBuild Include="$(OutputPath)banners\*.*" /> <!-- Folder 3: 1 file -->
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="------ AfterBuild process starting ------" Importance="high" />
<Delete Files="@(DeleteAfterBuild)">
<Output TaskParameter="DeletedFiles" PropertyName="deleted" />
</Delete>
<Message Text="DELETED FILES: $(deleted)" Importance="high" />
<Message Text="------ AfterBuild process complete ------" Importance="high" />
</Target>
El problema que tengo es que cuando hago una construcción/reconstrucción del Proyecto de Desarrollo de Web que "a veces" elimina todos los archivos pero otras veces no eliminará nada! O eliminará solo una o dos de las tres carpetas en el grupo de elementos DeleteAfterBuild. Parece que no hay consistencia en cuando el proceso de compilación decide eliminar los archivos o no.
Cuando edité la configuración para incluir solo la Carpeta 1 (por ejemplo), elimina todos los archivos correctamente. Luego, agregando la Carpeta 2 y 3, comienza a eliminar todos los archivos como yo quiera. ¡Entonces, pareciendo en momentos aleatorios, reconstruiré el proyecto y no eliminará ninguno de los archivos!
He intentado mover estos elementos al grupo de elementos ExcludeFromBuild (que probablemente sea donde debería estar) pero me da el mismo resultado impredecible.
¿Alguien ha experimentado esto? ¿Estoy haciendo algo mal? ¿Por qué pasó esto?
+1 - Tenía exactamente el mismo rasguño en la cabeza. Esta fue una respuesta perfecta. ¡Gracias! – spot