Destinazioni personalizzabili di Team Foundation Build
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.
![]() |
---|
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 Le attività forniscono il codice che viene eseguito 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.
Target Name |
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. |
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 binari compilati 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 |
Chiamata 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 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. Per ulteriori informazioni, vedere Scrittura di attività. Per scrivere un'attività personalizzata, è necessario effettuare i passaggi seguenti.
Scrivere il codice dell'attività e assicurarsi che i binari compilati siano 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.
Nota
È consigliabile archiviare il codice dell'attività nel controllo del codice sorgente, ma non è assolutamente necessario.
Registrare l'attività personalizzata nel file TfsBuild.proj dichiarandola utilizzando l'elemento UsingTask di MSBuild.
Per ulteriori informazioni, vedere Elemento UsingTask (MSBuild).
<UsingTask TaskName="MyTasks.SimpleTask" AssemblyName="MyAssembly.Build.Tasks"/>
Eseguire l'attività inserendola nella destinazione desiderata nel file TfsBuild.proj.
<Target Name="BeforeGet"> <SimpleTask /> </Target>
Nota
L'aggiunta di questo tag genera avvisi di XML Schema, che possono essere tranquillamente ignorati.
Distribuire la DLL contenente l'attività personalizzata nel computer di compilazione.
Importante
La modifica verrà applicata a ogni definizione di compilazione associata al file TfsBuild.proj che viene personalizzato.
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, l’intera cartella sorgente sarà eliminata durante esecuzione della destinazione CoreClean.
Nella tabella seguente viene illustrato l'elenco ordinato delle destinazioni eseguite in base alla possibilità che CleanCompilationOutputOnly sia true o false. Le destinazioni di cui è possibile eseguire l'override vengono visualizzate in grassetto.
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 vengono visualizzate in grassetto.
SetBuildBreakProperties
BeforeOnBuildBreak
GetChangesetsOnBuildBreak
BeforeDropBuild
CoreDropBuild
AfterDropBuild
BeforeCreateWorkItem
CoreCreateWorkItem
AfterCreateWorkItem
CoreOnBuildBreak
AfterOnBuildBreak
Vedere anche
Concetti
Informazioni sui file di configurazione di Team Foundation Build