Freigeben über


Anpassen von Buildnummern

In diesem Thema wird beschrieben, wie Sie Buildnummern bei Verwendung der Upgradevorlage anpassen. Weitere Informationen zur Upgradevorlage finden Sie unter Definieren eines Builds mithilfe der Upgradevorlage. Mit der Standardvorlage können Sie diese Prozedur leichter ausführen. Weitere Informationen finden Sie unter Definieren eines Builds mithilfe der Standardvorlage.

Sie können Team Foundation Build anpassen, indem Sie eigene benutzerdefinierte Aufgaben erstellen und sie während eines Builds ausführen. In diesem Thema wird erläutert, wie Sie eine Team Foundation Build-Builddefinition mit einer Aufgabe anpassen, von der Buildnummern generiert werden.

Vorbereitungsmaßnahmen

Bevor Sie die Aufgabe erstellen, um Buildnummern anzupassen, müssen Sie für Folgendes gesorgt haben:

  • Zugriff auf die Datei TFSBuild.proj der Builddefinition, die Sie anpassen möchten

    Die Datei TFSBuild.proj kann mehreren Builddefinitionen zugeordnet werden. Um den Quellcodeverwaltungsspeicherort der Datei TFSBuild.proj zu ermitteln, wählen Sie in Team Explorer im Ordner Builds die Builddefinition aus, klicken mit der rechten Maustaste darauf und klicken anschließend auf Bearbeiten. Der Quellcodeverwaltungsspeicherort der Datei TFSBuild.proj wird im Dialogfeld Builddefinition im Bereich Builddefinition angezeigt. Standardmäßig befindet sich die Datei TFSBuild.proj im Ordner $/MyTeamProject/TeamBuildTypes/MyBuildName in Team Foundation-Versionskontrolle. MeinTeamprojekt steht für den Namen Ihres Teamprojekts. Dies ist der Stammknoten Ihrer gesamten Teamprojektquellen. MyBuildName ist der Name, den Sie der ersten zur Datei TFSBuild.proj zugeordneten Builddefinition gegeben haben. Weitere Informationen zum Erstellen von Team Foundation Build-Buildtypen finden Sie unter Erstellen einer einfachen Builddefinition.

    Wichtig

    Beim Anpassen der Datei TFSBuild.proj wird jede zugeordnete Builddefinition angepasst.

  • Einen lokalen Arbeitsbereich, der die Teamprojektdateien und die Builddateien auf dem lokalen Computer enthält

    Weitere Informationen finden Sie unter Erstellen eines Arbeitsbereichs und Abrufen von Dateien und Abrufen der Quelle für das Teamprojekt.

  • Erforderliche Berechtigungen

Damit Sie diese Aufgabe ausführen können, müssen die Berechtigungen Build verwalten und Arbeitsbereiche verwalten auf Zulassen festgelegt sein. Weiterhin müssen die Berechtigungen Einchecken und Auschecken auf Zulassen festgelegt sein. Weitere Informationen finden Sie unter Team Foundation Server-Berechtigungen.

Schreiben der Buildnummernaufgabe

Zum Erstellen der Aufgabe können Sie die ITask-Schnittstelle direkt implementieren, oder leiten Sie die Klasse von einem Hilfsklassen-Task ab. ITask ist in der Assembly Microsoft.Build.Framework.dll, Task in der Assembly Microsoft.Build.Utilities.dll definiert.

Wenn Sie die von Team Foundation Build generierte Buildnummer anpassen möchten, müssen Sie die Aufgabe in das BuildNumberOverrideTarget-Ziel einfügen. BuildNumberOverrideTarget erfordert die Ausgabeeigenschaft BuildNumber. Das Output-Attribut gibt an, dass die Eigenschaft die Ausgabe der benutzerdefinierten Aufgabe bildet. Weitere Informationen zu Team Foundation Build-Zielen finden Sie unter Benutzerdefinierte Team Foundation-Buildziele.

So schreiben Sie die benutzerdefinierte Aufgabe

  1. Erstellen Sie eine Visual C#-Klassenbibliothek mit dem Namen MyTask, in der die benutzerdefinierte Aufgabe enthalten ist.

    Weitere Informationen finden Sie unter Komponentenklassen.

  2. Klicken Sie im Menü Projekt auf Verweis hinzufügen, und wählen Sie im Dialogfeld Verweis hinzufügen Microsoft.Build.Framework und Microsoft.Build.Utilities aus.

  3. Fügen Sie in der Datei class.cs den folgenden Code ein.

    Dieses Beispiel erbt von der Task-Hilfsklasse und verwendet die DateTime-Eigenschaften UtcNow und Ticks, um die Buildnummer zu generieren.

    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. Erstellen Sie die Klassenbibliothek, um die Datei MyTask.dll zu erstellen.

  5. Kopieren Sie die erstellte DLL-Datei in den lokalen Arbeitsbereichsordner, in dem auch die Datei TFSBuild.proj der Builddefinition enthalten ist.

    Wichtig

    Sie müssen den Quellcodeverwaltungsspeicherort der Datei TFSBuild.proj Ihrem lokalen Arbeitsbereich zugeordnet haben, bevor diese Verzeichnisstruktur auf dem Clientcomputer angezeigt wird. Weitere Informationen finden Sie unter Abrufen der Quelle für das Teamprojekt.

    Wenn die Datei TFSBuild.proj im Standardordner in der Quellcodeverwaltung gespeichert wurde, befindet sich die lokale Kopie der Datei auf dem Clientcomputer in <root>:\Local Workspace\TeamBuildTypes\MyBuildName. Local Workspace ist der lokale Ordner, dem das Teamprojekt zugeordnet ist, MyTeamProject ist der Name des Teamprojekts, und MyBuildName ist der Name, den Sie der ersten der Datei TFSBuild.proj zugeordneten Builddefinition gegeben haben.

Hinzufügen der DLL-Datei zur Quellcodeverwaltung

Nachdem Sie die DLL-Datei erstellt haben, die die benutzerdefinierte Aufgabe enthält, müssen Sie diese zu Team Foundation-Versionskontrolle hinzufügen. Sie können die Befehle tf add und tf checkin verwenden, um die DLL-Datei am gleichen Ort, an dem sich die Datei TFSBuild.proj der Builddefinitíon befindet, hinzuzufügen und einzuchecken. Weitere Informationen finden Sie unter Befehl Add und unter Befehl Checkin.

So fügen Sie eine Assembly hinzu und checken sie ein

  1. Klicken Sie auf Start, und zeigen Sie dann auf Alle Programme, Microsoft Visual Studio 9.0 und Visual Studio Tools, und klicken Sie dann auf Visual Studio 2008-Eingabeaufforderung. Öffnen Sie den lokalen Arbeitsbereich, den Sie dem Teamprojekt mit dem anzupassenden Buildtyp zugeordnet haben.

    Geben Sie an der Eingabeaufforderung beispielsweise Folgendes ein.

    > cd c:\MyTeamProject

    Dabei steht MyTeamProject für den Namen Ihres Teamprojekts.

  2. Navigieren Sie zum Speicherort der Datei TFSBuild.proj.

    Geben Sie an der Eingabeaufforderung beispielsweise Folgendes ein.

    c:\MyTeamProject>cd TeamBuildTypes\MyBuildName

    Hierbei steht MyBuildName für den Namen der Builddefinition.

  3. Geben Sie den folgenden Befehl ein, um die Datei zu Team Foundation-Versionskontrolle hinzuzufügen.

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

  4. Geben Sie den folgenden Befehl ein, um die Datei in Team Foundation-Versionskontrolle einzuchecken.

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

    Sie können auch den Team Explorer verwenden, um die DLL-Datei zu Team Foundation-Versionskontrolle hinzuzufügen. Weitere Informationen finden Sie unter Hinzufügen von Dateien zur Versionskontrolle.

Registrieren der Aufgabe

Nachdem Sie die Aufgabe erstellt haben, müssen Sie diese registrieren, indem Sie sie in einem UsingTask-Element in der Datei TFSBuild.proj angeben. Das UsingTask-Element ordnet die Aufgabe der Assembly zu, die die Implementierung der Aufgabe enthält. Weitere Informationen finden Sie unter UsingTask-Element (MSBuild).

So registrieren Sie die Aufgabe durch Ändern der Datei TFSBuild.proj

  1. Starten Sie Visual Studio.

  2. Checken Sie die Datei TFSBuild.proj, die Sie ändern möchten, aus der Team Foundation-Versionskontrolle aus, und öffnen Sie sie im Visual Studio-XML-Editor.

  3. Fügen Sie der Datei TFSBuild.proj das UsingTask-Element direkt nach der Importanweisung hinzu.

    <UsingTask 
        TaskName="BuildNumberGenerator.BuildNumberGenerator" 
        AssemblyFile="MyTask.dll"/>
    
  4. Um die Aufgabe in das BuildNumberOverrideTarget-Ziel einzufügen, fügen Sie am Ende der Datei TFSBuild.proj folgenden XML-Code in <Target></Target>-Tags hinzu.

    </ItemGroup>
      <Target Name = "BuildNumberOverrideTarget" >
        <BuildNumberGenerator> 
        <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/> 
        </BuildNumberGenerator> 
      </Target>
    </Project>
    
  5. Klicken Sie auf Datei und auf Speichern, um die Änderungen zu speichern. Schließen Sie anschließend TFSBuild.proj.

    Tipp

    Nachdem Sie diese Änderungen an der Datei TFSBuild.proj vorgenommen haben, werden Sie XML-Schemawarnungen erhalten. Sie können diese Warnungen gefahrlos ignorieren.

  6. Checken Sie TFSBuild.proj wieder in die Quellcodeverwaltung ein.

  7. Führen Sie nach dem Ändern der Datei TFSBuild.proj und dem Speichern der Änderungen in Team Foundation-Versionskontrolle die Builddefinition aus.

    Weitere Informationen finden Sie unter Stellen eines Builds in die Warteschlange.

    Sie können die benutzerdefinierte Buildnummer in Build Explorer anzeigen. Weitere Informationen finden Sie unter Überwachen des Status eines ausgeführten Builds.

Siehe auch

Konzepte

Definieren eines Builds mithilfe der Upgradevorlage

Definieren eines Builds mithilfe der Standardvorlage

Weitere Ressourcen

Erstellen der Anwendung