2010-08-16 17 views
13

Como parte de uno de mis proyectos, hay tareas "BeforeBuild" que finalmente generan algunos archivos. En particular, compila una pequeña clase estática (incluida como "no compilar" en el proyecto) en su propio ejecutable y luego la ejecuta, pasando un archivo de entrada externo que genera una nueva clase generada para ser incluida en el proyecto.MSBuild - Agregar archivos para ser "limpiados" en una compilación

Lo programé para poner los archivos intermedios en los proyectos $ (OutDir), pero encontré que en "Reconstruir" (y finalmente "Limpiar"), estos archivos no se recogen. Después de pensarlo un poco, me di cuenta de que la clase final generada, que se coloca justo en $ (ProjectDir) probablemente también debería eliminarse en "Limpiar".

Algunas investigaciones sobre Microsoft.Common.targets revelaron que había alguna "lista maestra" de la ruta intermedia (obj \ build \ assembly.FileListAbsolute.txt) a la que se consultó para que los archivos se eliminaran.

¿Existe algún método estándar para agregar mis nuevos archivos a esta lista en MSBuild para que se limpien, o este tipo de cosas encajarían mejor en una anulación de destino "BeforeClean" (o "AfterClean")?

Respuesta

12

Ver extienden el proceso de limpieza para los detalles de la FileWrites mecanismo (que es el sistema de escritura del FileListAbsolute.txt que se está viendo) en este MSBuild article by Hashimi. Y obtenga the book en este momento si va a dedicar más de 2 horas a escribir scripts de compilación el próximo año.

+0

¡Perfecto! * Extendiendo el Proceso Limpio * ¡era exactamente lo que estaba buscando! Realmente espero no tener que gastar más de 2 horas en compilar guiones durante el próximo año, pero ese libro probablemente llegue a mi escritorio en el futuro cercano. –

+0

@Jeff Wight: No puedes esconderte de él: vale la pena entender MSBuild-ese, ¡e incluso llegarás a apreciarlo como elegante en el tiempo! http://stackoverflow.com/questions/47884/is-it-worth-learning-to-use-msbuild y http://stackoverflow.com/questions/1326445/is-there-a-good-tutorial-on- msbuild-scripts –

+5

¡Sí, estoy de acuerdo con que Ruben obtenga el libro! –

Cuestiones relacionadas