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 |
---|---|
|
|
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.
SetBuildBreakProperties
BeforeOnBuildBreak (può eseguire l'override)
GetChangesetsOnBuildBreak
BeforeDropBuild (può eseguire l'override)
CoreDropBuild
AfterDropBuild (può eseguire l'override)
BeforeCreateWorkItem (può eseguire l'override)
CoreCreateWorkItem
AfterCreateWorkItem (può eseguire l'override)
CoreOnBuildBreak
AfterOnBuildBreak (può eseguire l'override)
Vedere anche
Attività
Procedura: scrivere un'attività
Concetti
Informazioni sui file di configurazione di Team Foundation Build