Creare un'attività personalizzata MSBuild per modificare il codice C # * prima della * compilazione

StackOverflow https://stackoverflow.com/questions/153602

Domanda

Voglio creare un'attività personalizzata di MSBuild che modifica i miei file .cs prima che vengano compilati da csc.exe (ma, ovviamente, che non li modifica in posizione - non voglio che vengano toccati i file di origine effettivi) . Sono a conoscenza di PostSharp e di altri framework AOP per .NET e non sono un'opzione per questo particolare progetto, inoltre mi piacerebbe imparare come farlo.

Cosa devo fare esattamente per farlo funzionare?

Grazie Richard

È stato utile?

Soluzione

Date le tue restrizioni, penso che tu possa fare quanto segue:

  1. Crea un'attività personalizzata che accetta l'elenco dei file cs da adattare prima della compilazione
  2. L'attività personalizzata adatta l'elenco dei file ricevuti e li crea su disco
  3. L'attività personalizzata imposta l'elenco dei file modificati sul parametro di output
  4. L'output dell'attività sostituirà l'elenco di file cs originale
  5. La compilazione viene eseguita in base ai file modificati.

Il passaggio 4 garantisce che i file eventualmente compilati siano quelli modificati dall'attività personalizzata.

Farai molto affidamento su ITaskItem interfaccia per il lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top