2010-08-16 15 views
13

Come parte di uno dei miei progetti, ci sono attività "BeforeBuild" che alla fine generano alcuni file. In particolare, compila una piccola classe statica (inclusa come "non compilare" nel progetto) nel proprio eseguibile e poi la esegue, passando in un file di input esterno che emette una nuova classe generata da includere nel progetto.MSBuild - Aggiunta di file da "ripulire" in una build

L'ho programmato per mettere i file intermedi nei progetti $ (OutDir), ma ho trovato che su "Ricostruisci" (e in definitiva "Pulisci"), questi file non vengono prelevati. Dopo un po 'di riflessione, mi sono reso conto che la classe finale generata che è posizionata a destra in $ (ProjectDir) dovrebbe probabilmente essere cancellata anche su "Clean".

Alcune indagini su Microsoft.Common.targets hanno rivelato che era presente un "elenco principale" dal percorso intermedio (obj \ build \ assembly.FileListAbsolute.txt) interrogato per i file da eliminare.

C'è qualche metodo standard per aggiungere i miei nuovi file a questo elenco in MSBuild per averli ripuliti, o questo tipo di cose si adatta meglio in una sovrascrittura di destinazione "BeforeClean" (o "AfterClean")?

risposta

12

Vedi estendendo il processo Clean per i dettagli del FileWrites meccanismo (che è il sistema di scrittura del FileListAbsolute.txt che stai vedendo) in questo MSBuild article by Hashimi. E ricevi subito the book se hai intenzione di passare più di 2 ore a scrivere script di costruzione nel prossimo anno.

+0

Perfetto! * Estendere il processo di pulizia * era esattamente quello che stavo cercando! Spero davvero di non dover spendere più di 2 ore sugli script di costruzione per il prossimo anno, ma quel libro probabilmente troverà la sua strada verso la mia scrivania nel prossimo futuro. –

+0

@Jeff Wight: non puoi nasconderti da esso - vale la pena capire MSBuild-ese, e arriverai persino ad apprezzarlo come elegante nel tempo! http://stackoverflow.com/questions/47884/is-it-worth-learning-to-use-msbuild e http://stackoverflow.com/questions/1326445/is-there-a-good-tutorial-on- msbuild-scripts –

+5

Sì, sono d'accordo con Ruben a prendere il libro! –

Problemi correlati