Share via


Destinazioni personalizzabili di Team Foundation Build

Aggiornamento: novembre 2007

Le destinazioni di MSBuild definiscono la modalità di compilazione di un progetto di MSBuild. Il file Microsoft.TeamFoundation.Build.targets definisce la gerarchia di destinazione e un insieme di attività di MSBuild e destinazioni per Team Foundation Build predefinite utilizzato per tutti i tipi di compilazione di Team Foundation Build. Le definizioni di compilazione includono un file di progetto denominato TFSBuild.proj. Il file di progetto può essere associato a una sola o a più definizioni di compilazione. Il file TfsBuild.proj importa il file Microsoft.TeamFoundation.Build.targets e fornisce valori per diverse proprietà e gruppi di elementi. È possibile personalizzare il file TfsBuild.proj per eseguire l'override di alcune delle destinazioni del punto di estensione all’interno della gerarchia. Il file delle destinazioni è situato in <radice>: \\Program Files\\MSBuild\\Microsoft\\VisualStudio\\TeamBuild sull'agente di compilazione.

Nota importante:

Non modificare il file Microsoft.TeamFoundation.Build.targets.

Per ulteriori informazioni sulle destinazioni di MSBuild, vedere Destinazioni di MSBuild.

Destinazioni che possono essere personalizzate con le attività

Le attività sono contenute nelle destinazioni e forniscono il codice da eseguire durante il processo di compilazione. Nella tabella seguente vengono elencate tutte le destinazioni di Team Foundation Build definite per l'estendibilità. Inserire le attività in una di queste destinazioni in base al momento in cui, durante il processo di compilazione, è necessario eseguire le attività personalizzate.

Nota:

Non è consigliabile eseguire l’override di altre destinazioni.

Nome di destinazione

Descrizione

BeforeEndToEndIteration

Inserire l'attività in questa destinazione per eseguire attività personalizzate all’inizio del processo di compilazione.

AfterEndToEndIteration

Inserire l'attività in questa destinazione per eseguire attività personalizzate alla fine del processo di compilazione.

BeforeInitializeWorkspace

Inserire l'attività in questa destinazione per eseguire attività personalizzate prima dell’inizializzazione dell’area di lavoro.

AfterInitializeWorkspace

Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo l’inizializzazione dell’area di lavoro.

BuildNumberOverrideTarget

Inserire l'attività in questa destinazione per personalizzare il numero di build o le proprietà della posizione di rilascio. L'attività scritta deve creare una proprietà di output denominata BuildNumber.

BeforeClean

Chiamata prima di tentare la pulizia. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima di tentare la pulizia.

AfterClean

Chiamata dopo il completamento della pulizia. Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la pulizia.

BeforeGet

Chiamata prima del recupero delle origini dal controllo del codice sorgente. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima del recupero delle origini.

AfterGet

Chiamata dopo il recupero delle origini. Inserire l'attività in questa destinazione per eseguire le attività personalizzate dopo il recupero delle origini.

BeforeLabel

Chiamata prima dell'assegnazione di un'etichetta alle origini. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima della destinazione Label.

AfterLabel

Chiamata dopo il completamento dell'assegnazione delle etichette. Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la destinazione Label.

BeforeCompile

Chiamata prima dell'avvio della compilazione. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima della compilazione dei file di codice.

BeforeCompileConfiguration

Inserire l'attività in questa destinazione per eseguire attività personalizzate prima della compilazione di una singola configurazione.

BeforeCompileSolution

Inserire l'attività in questa destinazione per eseguire le attività personalizzate prima della compilazione di una singola soluzione.

AfterCompileSolution

Inserire l'attività in questa destinazione per eseguire le attività personalizzate dopo la compilazione di una singola soluzione.

AfterCompileConfiguration

Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la compilazione di una singola configurazione.

AfterCompile

Chiamata dopo il completamento della compilazione. Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la compilazione dei file di codice. Per un esempio, vedere Procedura dettagliata: configurazione di Team Build per la compilazione di un progetto di installazione di Visual Studio.

BeforeGetChangesetsAndUpdateWorkItems

Inserire l'attività in questa destinazione per eseguire attività personalizzate prima che gli insiemi di modifiche vengano associati e che gli elementi di lavoro vengano aggiornati.

AfterGetChangesetsAndUpdateWorkItems

Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo che gli insiemi di modifiche vengono associati e che gli elementi di lavoro vengono aggiornati.

BeforeTest

Chiamata prima dell'esecuzione dei test. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima della destinazione Test.

BeforeTestConfiguration

Inserire l'attività in questa destinazione per eseguire attività personalizzate prima che venga effettuato il test di una singola configurazione.

AfterTestConfiguration

Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo che è stato effettuato il test di una singola configurazione.

AfterTest

Chiamata dopo il completamento dei test. Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la destinazione Test.

BeforeDropBuild

Chiamata prima del salvataggio dei dati binari compilati, dei file di log di compilazione e dei risultati del test nella directory di destinazione della compilazione nel server di rilascio. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima del salvataggio dei file compilati nella directory di destinazione.

AfterDropBuild

Chiamata dopo il rilascio dei dati binari compilati, dei file di log di compilazione e dei risultati del test nel server di rilascio. Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo il salvataggio dei file compilati nella directory di destinazione.

BeforeCreateWorkItem

Inserire l'attività in questa destinazione per eseguire attività personalizzate prima della creazione dell’elemento di lavoro.

AfterCreateWorkItem

Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la creazione dell’elemento di lavoro.

BeforeOnBuildBreak

Viene chiamato prima della creazione di un elemento di lavoro come risultato di un interruzione di compilazione. Inserire l'attività in questa destinazione per eseguire attività personalizzate prima della destinazione BuildBreak.

AfterOnBuildBreak

Viene chiamato dopo la creazione di un elemento di lavoro come risultato di un interruzione di compilazione. Inserire l'attività in questa destinazione per eseguire attività personalizzate dopo la destinazione BuildBreak.

GenerateDocumentation

Si tratta di una destinazione vuota. Inserire l'attività in questa destinazione per generare automaticamente la documentazione durante il processo di compilazione.

Eseguire l'override sulle destinazioni per eseguire attività personalizzate

Il codice dell'attività da scrivere deve essere associato a una destinazione e i binari compilati devono essere disponibili sul computer di compilazione, fornendo il percorso del controllo del codice sorgente nel file TfsBuild.proj o rendendo disponibili i binari sul computer di compilazione stesso. È inoltre necessario registrare l'attività personalizzata nel file TfsBuild.proj dichiarandola utilizzando l'elemento UsingTask di MSBuild. Per ulteriori informazioni, vedere Elemento UsingTask (MSBuild). In ultimo, distribuire la DLL contenente l'attività personalizzata nel computer di compilazione.

Nota importante:

La modifica verrà applicata ad ogni definizione di compilazione associata al file TfsBuild.proj che viene personalizzato.

Per un esempio di implementazione end-to-end di un'attività personalizzata, vedere Procedura dettagliata: personalizzazione di Team Foundation Build con un'attività personalizzata.

Ordine di esecuzione delle destinazioni

L'ordine di esecuzione delle destinazioni dipende dal valore della proprietà CleanCompilationOutputOnly. Se CleanCompilationOutputOnly è true, le destinazioni clean (BeforeClean, CoreClean e AfterClean) vengono eseguite dopo le destinazioni get e label (BeforeGet, CoreGet, AfterGet, BeforeLabel, CoreLabel e AfterLabel). Se la proprietà CleanCompilationOutputOnly è false, le destinazioni clean vengono eseguite prima delle destinazioni get e label. Se CleanCompilationOutputOnly è true, solo gli assembly intermedi vengono eliminati dalla directory di origine durante l'esecuzione della destinazione CoreClean. Se questa proprietà è impostata su false, tutta la directory delle origini sarà eliminata durante l'esecuzione della destinazione CoreClean.

Nella tabella riportata di seguito viene illustrato l'elenco ordinato delle destinazioni eseguite in base alla possibilità che CleanCompilationOutputOnly sia true o false. Le destinazioni che è possibile ignorare sono indicate.

CleanCompilationOutputOnly = true

CleanCompilationOutputOnly = false

  1. InitializeBuildProperties

  2. BeforeEndToEndIteration (può eseguire l'override)

  3. BuildNumberOverrideTarget (può eseguire l'override)

  4. InitializeEndToEndIteration

  5. BeforeInitializeWorkspace (può eseguire l'override)

  6. CoreInitializeWorkspace

  7. AfterinitializeWorkspace (può eseguire l'override)

  8. InitializeBuild

  9. BeforeGet (può eseguire l'override)

  10. CoreGet

  11. AfterGet (può eseguire l'override)

  12. BeforeLabel (può eseguire l'override)

  13. CoreLabel

  14. AfterLabel (può eseguire l'override)

  15. BeforeClean (può eseguire l'override)

  16. CoreCleanCompilationOutput

  17. AfterClean (può eseguire l'override)

  18. BeforeCompile (può eseguire l'override)

  19. CoreCompile (per ogni combinazione piattaforma/configurazione)

  20. BeforeCompileConfiguration (può eseguire l'override)

  21. CoreCompileConfiguration (per ogni soluzione da compilare)

  22. BeforeCompileSolution (può eseguire l'override)

  23. CoreCompileSolution

  24. AfterCompileSolution (può eseguire l'override)

  25. AfterCompileConfiguration (può eseguire l'override)

  26. AfterCompile (può eseguire l'override)

  27. BeforeGetChangesetsAndUpdateWorkItems (può eseguire l'override)

  28. CoreGetChangeSetsAndUpdateWorkItems

  29. AfterGetChangesetsAndUpdateWorkItems (può eseguire l'override)

  30. BeforeTest (può eseguire l'override)

  31. CoreTest (per ogni combinazione piattaforma/configurazione)

  32. BeforeTestConfiguration (può eseguire l'override)

  33. CoreTestConfiguration

  34. AfterTestConfiguration (può eseguire l'override)

  35. AfterTest (può eseguire l'override)

  36. GenerateDocumentation (può eseguire l'override)

  37. PackageBinaries (può eseguire l'override)

  38. BeforeDropBuild (può eseguire l'override)

  39. CoreDropBuild

  40. AfterDropBuild (può eseguire l'override)

  41. AfterEndToEndIteration (può eseguire l'override)

  1. InitializeBuildProperties

  2. BeforeEndToEndIteration (può eseguire l'override)

  3. BuildNumberOverrideTarget (può eseguire l'override)

  4. InitializeEndToEndIteration

  5. BeforeInitializeWorkspace (può eseguire l'override)

  6. CoreInitializeWorkspace

  7. AfterInitializeWorkspace (può eseguire l'override)

  8. BeforeClean (può eseguire l'override)

  9. CoreClean

  10. AfterClean (può eseguire l'override)

  11. InitializeBuild

  12. BeforeGet (può eseguire l'override)

  13. CoreGet

  14. AfterGet (può eseguire l'override)

  15. BeforeLabel (può eseguire l'override)

  16. CoreLabel

  17. AfterLabel (può eseguire l'override)

  18. BeforeCompile (può eseguire l'override)

  19. CoreCompile (per ogni combinazione piattaforma/configurazione)

  20. BeforeCompileConfiguration (può eseguire l'override)

  21. CoreCompileConfiguration (per ogni soluzione da compilare)

  22. BeforeCompileSolution (può eseguire l'override)

  23. CoreCompileSolution

  24. AfterCompileSolution (può eseguire l'override)

  25. AfterCompileConfiguration (può eseguire l'override)

  26. AfterCompile (può eseguire l'override)

  27. BeforeGetChangesetsAndUpdateWorkItems (può eseguire l'override)

  28. CoreGetChangeSetsAndUpdateWorkItems

  29. AfterGetChangesetsAndUpdateWorkItems (può eseguire l'override)

  30. BeforeTest (può eseguire l'override)

  31. CoreTest (per ogni combinazione piattaforma/configurazione)

  32. BeforeTestConfiguration (può eseguire l'override)

  33. CoreTestConfiguration

  34. AfterTestConfiguration (può eseguire l'override)

  35. AfterTest (può eseguire l'override)

  36. GenerateDocumentation (può eseguire l'override)

  37. PackageBinaries (può eseguire l'override)

  38. BeforeDropBuild (può eseguire l'override)

  39. CoreDropBuild

  40. AfterDropBuild (può eseguire l'override)

  41. AfterEndToEndIteration (può eseguire l'override)

La seguente lista specifica le destinazioni che vengono eseguite quando si verifica un errore durante l'esecuzione della destinazione CoreCompile. Le destinazioni di cui è possibile eseguire l'override sono indicate.

  1. SetBuildBreakProperties

  2. BeforeOnBuildBreak (può eseguire l'override)

  3. GetChangesetsOnBuildBreak

  4. BeforeDropBuild (può eseguire l'override)

  5. CoreDropBuild

  6. AfterDropBuild (può eseguire l'override)

  7. BeforeCreateWorkItem (può eseguire l'override)

  8. CoreCreateWorkItem

  9. AfterCreateWorkItem (può eseguire l'override)

  10. CoreOnBuildBreak

  11. AfterOnBuildBreak (può eseguire l'override)

Vedere anche

Attività

Procedura: scrivere un'attività

Concetti

Informazioni sui file di configurazione di Team Foundation Build

Proprietà personalizzabili di Team Foundation Build

Attività di Team Foundation Build