Personalizzare numeri di compilazione

In questo argomento viene descritto come personalizzare i numeri di build quando si utilizza il modello di aggiornamento. Per ulteriori informazioni sul modello di aggiornamento, vedere Definire una compilazione utilizzando il modello di aggiornamento. È possibile eseguire più facilmente questa procedura tramite il modello predefinito. Per ulteriori informazioni, vedere Definire una compilazione utilizzando il modello predefinito.

È possibile personalizzare Team Foundation Build creando attività personalizzate da eseguire durante una compilazione. In questo argomento vengono illustrati i passaggi necessari per personalizzare una definizione di compilazione di Team Foundation Build con un'attività per la creazione di numeri di compilazione.

Prerequisiti

Prima di creare l'attività per la personalizzazione dei numeri di compilazione, verificare di disporre dei seguenti elementi:

  • Accesso al file TFSBuild.proj della definizione di compilazione che si desidera personalizzare.

    Il file TFSBuild.proj può essere associato a più definizioni di compilazione. Per determinare il percorso di controllo del codice sorgente del file TFSBuild.proj, selezionare la definizione di compilazione nella cartella Compilazioni in Team Explorer, fare clic con il pulsante destro del mouse su di essa, quindi scegliere Modifica. Il percorso del controllo del codice sorgente relativo al file TFSBuild.proj viene visualizzato nel riquadro File di progetto della finestra di dialogo Definizione di compilazione. Per impostazione predefinita, il file TFSBuild.proj si trova nella cartella $/ProgettoTeam/TeamBuildTypes/NomeCompilazione in Controllo della versione di Team Foundation. ProgettoTeam è il nome del progetto Team e il nodo radice di tutte le origini del progetto Team. NomeCompilazione è il nome assegnato alla prima definizione di compilazione associata al file TFSBuild.proj. Per ulteriori informazioni sulla modalità di creazione dei tipi di compilazione Team Foundation Build, vedere Creare una definizione di compilazione di base.

    Nota importanteImportante

    Quando si personalizza il file TFSBuild.proj, viene personalizzata ogni definizione di compilazione associata al file.

  • Un'area di lavoro locale contenente i file del progetto Team e i file di compilazione nel computer locale.

    Per ulteriori informazioni, vedere Creare un'area di lavoro e leggere i file e Ottenere il codice sorgente per il progetto team.

  • Autorizzazioni necessarie

Per completare questa attività, è necessario che le autorizzazioni Amministra compilazione e Amministra aree di lavoro siano impostate su Consenti. È inoltre necessario che le autorizzazioni Archivia ed Estrai siano impostate su Consenti. Per ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.

Scrittura dell'attività relativa al numero di compilazione

Per scrivere l'attività, è possibile implementare direttamente l'interfaccia ITask o derivare la classe da una classe di supporto Task. L'oggetto ITask viene definito nell'assembly Microsoft.Build.Framework.dll e l'oggetto Task viene definito nell'assembly Microsoft.Build.Utilitites.dll.

Per personalizzare il numero di compilazione generato da Team Foundation Build, è necessario inserire l'attività nella destinazione BuildNumberOverrideTarget. BuildNumberOverrideTarget richiede una proprietà di output denominata BuildNumber. L'attributo Output indica che la proprietà rappresenta l'output dell'attività personalizzata. Per ulteriori informazioni sulle destinazioni di Team Foundation Build, vedere Destinazioni personalizzabili di Team Foundation Build.

Per scrivere l'attività personalizzata

  1. Creare una libreria di classi di Visual C# denominata AttivitàPersonalizzata contenente l'attività personalizzata.

    Per ulteriori informazioni, vedere Classi di componenti.

  2. Scegliere Aggiungi riferimento dal menu Progetto, quindi selezionare Microsoft.Build.Framework e Microsoft.Build.Utilities nella finestra di dialogo Aggiungi riferimento.

  3. Inserire il seguente codice nel file class.cs.

    Questo esempio eredita dalla classe helper Task e prevede l'utilizzo delle proprietà DateTimeUtcNow e Ticks per creare il numero di compilazione.

    using System;
    using Microsoft.Build.Utilities;
    using Microsoft.Build.Framework;
    
    namespace BuildNumberGenerator
    {
        public class BuildNumberGenerator:Task
        {
            public override bool Execute()
            {            
                m_buildNumber = DateTime.UtcNow.Ticks.ToString();
                return true;
            }
            private string m_buildNumber;
    
            [Output]
            public string BuildNumber
            {
                get { return m_buildNumber; }
            }
        }
    }
    
  4. Compilare la libreria di classi per generare MyTask.dll.

  5. Copiare la DLL compilata nella cartella dell'area di lavoro locale contenente anche il file TFSBuild.proj del tipo di compilazione.

    Nota importanteImportante

    È necessario mappare il percorso di controllo del codice sorgente del file TFSBuild.proj all'area di lavoro locale prima della creazione della struttura di directory nel computer client. Per ulteriori informazioni, vedere Ottenere il codice sorgente per il progetto team.

    Se il file TFSBuild.proj è archiviato nella cartella predefinita all'interno del controllo del codice sorgente, la copia locale del file si trova in <radice>:\Area di lavoro locale\TipidiCompilazioneTeam\NomeCompilazione sul computer client. Area di lavoro locale rappresenta la cartella locale alla quale è mappato il progetto Team, ProgettoTeam è il nome del progetto Team e NomeCompilazione è il nome assegnato alla prima definizione di compilazione associata al file TFSBuild specificato.

Aggiunta del file DLL al controllo del codice sorgente

Dopo avere creato la DLL contenente l'attività personalizzata, è necessario aggiungerla a Controllo della versione di Team Foundation. È possibile utilizzare i comandi tf add e tf checkin per aggiungere e archiviare la DLL nello stesso percorso del file TFSBuild.proj della definizione di compilazione. Per ulteriori informazioni, vedere Comando Add e Comando Checkin.

Per aggiungere e archiviare l'assembly

  1. Fare clic su Start, scegliere Tutti i programmi, Microsoft Visual Studio 9.0, Visual Studio Tools, quindi Prompt dei comandi di Visual Studio 2008. Aprire l'area di lavoro locale di cui è stato eseguito il mapping per il progetto Team contenente il tipo di compilazione che si desidera personalizzare.

    Al prompt dei comandi digitare, ad esempio, quanto segue.

    > cd c:\MyTeamProject

    Dove MyTeamProject è il nome del progetto Team.

  2. Spostarsi nel percorso in cui è archiviato il file TFSBuild.proj.

    Al prompt dei comandi digitare, ad esempio, quanto segue.

    c:\MyTeamProject>cd TeamBuildTypes\MyBuildName

    Dove MyBuildName è il nome della definizione di compilazione.

  3. Per aggiungere il file a Controllo della versione di Team Foundation, digitare il seguente comando.

    c:\MyTeamProject\TeamBuildTypes\MyBuildName> tf add MyTask.dll

  4. Per archiviare il file in Controllo della versione di Team Foundation, digitare il seguente comando.

    c:\MyTeamProject\TeamBuildTypes\MyBuildName> tf checkin MyTask.dll

    È inoltre possibile utilizzare Team Explorer per aggiungere la DLL a Controllo della versione di Team Foundation. Per ulteriori informazioni, vedere Aggiungere file al controllo della versione.

Registrazione dell'attività

Dopo avere creato l'attività, è necessario registrarla includendola in un elemento UsingTask del file TFSBuild.proj. L'elemento UsingTask associa l'attività all'assembly che ne contiene l'implementazione. Per ulteriori informazioni, vedere Elemento UsingTask (MSBuild).

Per registrare l'attività modificando il file TFSBuild.proj

  1. Avviare Visual Studio.

  2. Estrarre il file TFSBuild.proj che si desidera modificare da Controllo della versione di Team Foundation e aprirlo nell'editor XML di Visual Studio.

  3. Aggiungere l'elemento UsingTask al file TFSBuild.proj immediatamente dopo l'istruzione Import.

    <UsingTask 
        TaskName="BuildNumberGenerator.BuildNumberGenerator" 
        AssemblyFile="MyTask.dll"/>
    
  4. Per inserire l'attività nella destinazione BuildNumberOverrideTarget, aggiungere il seguente codice XML racchiuso tra i tag <Target></Target> alla fine del file TFSBuild.proj.

    </ItemGroup>
      <Target Name = "BuildNumberOverrideTarget" >
        <BuildNumberGenerator> 
        <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/> 
        </BuildNumberGenerator> 
      </Target>
    </Project>
    
  5. Scegliere Salva dal menu File per salvare le modifiche, quindi chiudere TFSBuild.proj.

    Nota

    Dopo aver apportato queste modifiche al file TFSBuild.proj, verranno visualizzati appositi avvisi nello schema XML. È possibile ignorare in modo sicuro questi avvisi.

  6. Archiviare di nuovo TFSBuild.proj nel controllo del codice sorgente.

  7. Dopo avere modificato il file TFSBuild.proj e avere salvato le modifiche in Controllo della versione di Team Foundation, eseguire la definizione di compilazione.

    Per ulteriori informazioni, vedere Accodare una compilazione.

    È possibile visualizzare il numero di compilazione personalizzato in Esplora compilazione. Per ulteriori informazioni, vedere Monitorare lo stato di una compilazione in esecuzione.

Vedere anche

Concetti

Definire una compilazione utilizzando il modello di aggiornamento

Definire una compilazione utilizzando il modello predefinito

Altre risorse

Compilazione dell'applicazione