Condividi tramite


Gestire le informazioni di compilazione e controllare il dettaglio

È possibile ottenere i seguenti tipi di informazioni su una compilazione completata:

  • Come è stata eseguita la compilazione. Se la compilazione è stata eseguita correttamente. Quando è iniziata. Quanto tempo ha richiesto la compilazione. Come è stata eseguita questa compilazione rispetto a quelle precedenti.

  • Quali elementi sono stati compilati. Quali soluzioni, insiemi di modifiche e correzioni di bug sono stati inseriti in questa compilazione.

  • Quali problemi si sono verificati. Quali avvisi o errori sono stati generati. Quali test hanno avuto esito negativo.

È possibile controllare sistematicamente il livello di dettaglio delle informazioni archiviate per ogni compilazione completata quando si definisce il processo di compilazione. In alternativa, è possibile controllare il livello di dettaglio per una singola esecuzione di una compilazione quando viene accodata manualmente.

In questo argomento

  • Generazione delle informazioni di compilazione e flussi

    • Definire il processo di compilazione

    • Il processo di compilazione viene accodato ed eseguito

    • Le informazioni di compilazione vengono generate, filtrate e archiviate

    • Recuperare le informazioni di compilazione

  • Impostazione del parametro del processo di compilazione per registrare il livello di dettaglio

  • Procedura consigliata: impostare il livello di dettaglio più basso possibile

    • Utilizzare un livello di dettaglio minimo quando si esegue una compilazione

    • Utilizzare un livello di dettaglio minimo quando si progetta un modello di processo di compilazione personalizzato

  • Ulteriori informazioni

Generazione delle informazioni di compilazione e flussi

Flusso delle informazioni di compilazione e impostazioni del livello di dettaglio

Definire il processo di compilazione

Passaggio 1 È possibile controllare sistematicamente il livello di dettaglio delle informazioni quando si sviluppa il processo di compilazione. Quando si crea o si modifica una definizione di compilazione basata su DefaultTemplate.xaml o UpgradeTemplate.xaml, viene visualizzata la scheda Processo. Nel nodo Base è possibile selezionare un valore nell'elenco di Registrazione del livello di compilazione per specificare il parametro del processo di compilazione.

Nei casi in cui i modelli incorporati non soddisfino le proprie esigenze, è possibile compilare un modello di processo di compilazione personalizzato. Quando si crea questo tipo di modello, è opportuno scrivere attentamente le informazioni di compilazione. Per ulteriori informazioni, vedere l'articolo relativo alla gestione del livello di dettaglio della compilazione nel modello di processo di compilazione personalizzato.

Il processo di compilazione viene accodato ed eseguito

Passaggio 2 È possibile eseguire manualmente l'override dell'impostazione Registrazione del livello di compilazione quando si accoda una definizione di compilazione basata su DefaultTemplate.xaml o UpgradeTemplate.xaml. Nella finestra di dialogo Accoda compilazione, visualizzare la scheda Parametri, espandere il nodo Base, quindi selezionare un valore nell'elenco Registrazione del livello di compilazione per specificare il parametro del processo di compilazione. Questo valore viene applicato a una singola esecuzione della compilazione.

Le informazioni di compilazione vengono generate, filtrate e archiviate

Passaggio 3 Il sistema di compilazione passa il valore del parametro del processo di compilazione Livello di dettaglio a Verbosity. Questa proprietà viene utilizzata per filtrare le informazioni di compilazione registrate e archiviate nel data warehouse tramite Information dalle seguenti origini:

  • Attività del flusso di lavoro: diverse attività di flusso di lavoro generano un messaggio quando un'operazione viene completata oppure un avviso o un errore quando un'operazione ha esito negativo. Ad esempio, l'attività SyncWorkspace genera messaggi con priorità bassa quando vengono scaricati codice sorgente e altri file dal server all'agente di compilazione. Questa attività genera errori quando il download dei file non viene eseguito. Un altro esempio è rappresentato dall'attività OpenWorkItem che genera un avviso quando non è possibile creare un elemento di lavoro.

    È possibile utilizzare altre attività del flusso di lavoro per scrivere direttamente le proprie informazioni di compilazione. Per ulteriori informazioni, vedere l'articolo relativo alla progettazione di un modello di processo di compilazione personalizzato che consente di scrivere le informazioni con il livello di dettaglio minimo.

  • MSBuild : il processo di compilazione utilizza l'attività MSBuild per l'utilizzo di MSBuild per compilare i binari ed eseguire altre attività fondamentali. La proprietà Livello di dettaglio di questa attività controlla il livello di dettaglio delle informazioni generate e pubblicate da questo processo nelle seguenti posizioni:

    • Il data warehouse archivia i risultati, gli errori e gli avvisi di compilazione.

    • Un log nella cartella di ricezione archivia le stesse informazioni del data warehouse con tutti gli altri messaggi generati da MSBuild.

  • MSTest: il processo di compilazione utilizza l'attività MSTest per l'utilizzo di MSTest.exe per eseguire i test. Tutti i messaggi generati da questo processo vengono classificati con un valore di priorità alto e pubblicati nel data warehouse e in un log nella cartella di ricezione.

Recuperare le informazioni di compilazione

Passaggio 4 Mentre la compilazione è in esecuzione e dopo che è stata completata, è possibile recuperare le informazioni di riepilogo e dettagliate dalla finestra Risultati compilazione. È possibile copiare queste informazioni dalla finestra negli Appunti. È inoltre possibile collegare direttamente la cartella di ricezione per recuperare log, binari e altri dati.

Parametro del processo di compilazione Registrazione del livello di compilazione

In un processo di compilazione basato su DefaultTemplate.xaml o UpgradeTemplate.xaml, è possibile utilizzare il parametro del processo di compilazione Registrazione del livello di compilazione per controllare il livello di dettaglio delle informazioni registrate e archiviate.

Nella tabella riportata di seguito sono elencati i valori del livello di dettaglio registrazione e gli effetti corrispondenti:

Valore

Errori

Avvisi

Messaggi di compilazione con priorità alta

Messaggi con priorità normale

Messaggi con priorità bassa

Proprietà attività di flusso di lavoro (input e output)

Minimal

S

N

N

N

N

N

Normal

S

S

S

N

N

N

Detailed

S

S

S

S

N

N

Diagnostica (deve essere utilizzato in genere solo per eseguire il debug di un processo di compilazione)

S

S

S

S

S

S

Procedura consigliata: impostare il livello di dettaglio più basso possibile

Anche se le informazioni di compilazione sono importanti, un processo di compilazione che registra una quantità eccessiva di informazioni può causare problemi. Questi problemi possono includere un consumo eccessivo di spazio di archiviazione nel data warehouse, una riduzione delle prestazioni di Visual Studio e l'overload dei membri del team con più informazioni di quante possano gestirne.

Utilizzare un livello di dettaglio minimo quando si esegue una compilazione

Quando si esegue una compilazione, è consigliabile seguire in genere la procedura consigliata di utilizzare l'impostazione di dettaglio più bassa, che fornisca comunque le informazioni necessarie per raggiungere l'obiettivo previsto.

Ad esempio, è possibile eseguire una compilazione per generare i binari che includono le modifiche al codice più recenti. Nella maggior parte dei casi, un livello di dettaglio Normale sarà probabilmente sufficiente. Potrebbe tuttavia essere necessario utilizzare il livello di dettaglio Dettagliato o Diagnostica se si stanno risolvendo i problemi causati da un bug del processo di compilazione o da un errore anomalo di compilazione del codice.

Utilizzare un livello di dettaglio minimo quando si progetta un modello di processo di compilazione personalizzato

Gli utenti del processo di compilazione si basano sul filtro del livello di dettaglio per ridurre l'overload di informazioni. È possibile rendere più efficace questa operazione adottando le misure seguenti:

  • Accertarsi di selezionare l'attività più appropriata per scrivere un messaggio: Attività WriteBuildMessage, Attività WriteBuildWarning o Attività WriteBuildError.

  • Quando si utilizza l'attività Attività WriteBuildMessage per registrare informazioni, applicare un approccio intenzionale e coerente all'impostazione della proprietà Importance. Quando si utilizza un valore di priorità più alto per il messaggio, tenere presente che si sta potenzialmente aumentando la quantità di dati archiviati e presentati ai membri del team.

Nota

L'impatto di tali decisioni può essere particolarmente significativo se si utilizzano queste attività all'interno di una struttura di ciclo, ad esempio DoWhile, ForEach<T> o While.

Ulteriori informazioni

In Attività di Team Foundation Build vengono descritte le attività del flusso di lavoro del processo di compilazione indicate in questo argomento.

In Definire una compilazione utilizzando il modello predefinito e Definire una compilazione utilizzando il modello di aggiornamento sono disponibili istruzioni su come creare una definizione di compilazione.

In Visualizzare la finestra Risultati compilazione vengono fornite indicazioni sull'utilizzo della finestra Risultati compilazione.

In IBuildDetail, BuildMessageImportance e BuildVerbosity vengono descritti alcuni elementi principali dell'API di Team Foundation Build che forniscono la funzionalità per le informazioni di compilazione.

In Riferimenti alla riga di comando di MSBuild viene descritto MSBuild.

In Specificare trigger e motivi di compilazione e Accodare una compilazione viene descritto come accodare automaticamente e manualmente una compilazione.

Cronologia delle modifiche

Data

Cronologia

Motivo

Aprile 2011

Argomento aggiunto.

Miglioramento delle informazioni.