Freigeben über


Veröffentlichen von Symbolen mit Azure-Pipelines

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Mit Azure Pipelines können Sie Ihre Symbole mithilfe der Indexquellen- und Veröffentlichungssymbolaufgabe auf dem Azure Artifacts-Symbolserver veröffentlichen. Sie können den Debugger verwenden, um die richtigen Symboldateien zu verbinden und automatisch abzurufen, ohne Produktnamen, Buildnummern oder Paketnamen zu kennen. Mithilfe von Azure Pipelines können Sie Ihre Symbole auch auf Dateienfreigaben und tragbaren PDBs veröffentlichen.

Hinweis

Die Aufgabe "Indexquellen" und "Symbole veröffentlichen " wird in Releasepipelinen nicht unterstützt.

Veröffentlichen von Symbolen auf dem Azure Artifacts-Symbolserver

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie "Pipelines", wählen Sie Ihre Pipeline aus, und wählen Sie dann "Bearbeiten" aus, um Ihre Pipeline zu ändern.

  3. Wählen Sie + aus Ihrer Pipelinedefinition aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der Aufgabe Indexquellen und Symbole veröffentlichen. Wählen Sie "Hinzufügen" aus, um sie zu Ihrer Pipeline hinzuzufügen.

  5. Füllen Sie die erforderlichen Felder wie folgt aus:

    • Aufgabenversion: 2.\*.

    • Anzeigename: Anzeigename der Aufgabe.

    • Pfad zum Symbolordner: Pfad zum Ordner, in dem die Symboldateien gehostet werden.

    • Suchmuster: Das Muster, das zum Suchen der PDB-Dateien im Ordner verwendet wird, den Sie unter Pfad zum Symbolordner festgelegt haben. Ein-Ordner-Wildcard (*) und rekursive Wildcards (**) werden beide unterstützt. Beispiel: *\bin*.pdb: Sucht nach allen PDB-Dateien in allen Unterverzeichnissen namens "bin".

    • Indexquellen: Gibt an, ob Quellserverinformationen in die PDB-Dateien eingefügt werden sollen.

    • Veröffentlichungssymbole: Gibt an, ob die Symboldateien veröffentlicht werden sollen.

      • Symbolservertyp: Wählen Sie "Symbolserver" in dieser Organisation/Sammlung aus (erfordert Azure Artifacts), um Ihre Symbole auf dem Azure Artifacts-Symbolserver zu veröffentlichen.
    • Ausführliche Protokollierung: Fügen Sie weitere Informationen in Ihre Protokolle ein.

Screenshot, der zeigt, wie man die Indexquellen konfiguriert und Symbole veröffentlicht, damit Symbole auf dem Azure Artifacts-Symbolserver veröffentlicht werden.

Veröffentlichen von Symbolen in einer Dateifreigabe

Neben dem Azure Artifacts-Symbolserver können Sie Ihre Symbole auch mithilfe der Aufgabe "Indexquellen" und "Symbole veröffentlichen " in einer Dateifreigabe veröffentlichen.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie "Pipelines", wählen Sie Ihre Pipeline aus, und wählen Sie dann "Bearbeiten" aus, um Ihre Pipeline zu ändern.

  3. Wählen Sie + aus Ihrer Pipelinedefinition aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der Aufgabe Indexquellen und Symbole veröffentlichen. Wählen Sie "Hinzufügen" aus, um sie zu Ihrer Pipeline hinzuzufügen.

  5. Füllen Sie die erforderlichen Felder wie folgt aus:

    • Aufgabenversion: 2.\*.

    • Anzeigename: Anzeigename der Aufgabe.

    • Pfad zum Symbolordner: Pfad zum Ordner, in dem die Symboldateien gehostet werden.

    • Suchmuster: Das Muster, das zum Suchen der PDB-Dateien im Ordner verwendet wird, den Sie unter Pfad zum Symbolordner festgelegt haben.

    • Indexquellen: Gibt an, ob Quellserverinformationen in die PDB-Dateien eingefügt werden sollen.

    • Veröffentlichungssymbole: Gibt an, ob die Symboldateien veröffentlicht werden sollen.

      • Symbolservertyp: Wählen Sie "Dateifreigabe" aus, um Ihre Symbole in einer Dateifreigabe zu veröffentlichen.
      • Pfad zum Veröffentlichen von Symbolen: die Dateifreigabe, die Ihre Symbole hosten soll.
    • Ausführliche Protokollierung: Überprüfen Sie, ob Sie weitere Informationen in Ihre Protokolle aufnehmen möchten.

    Screenshot, der zeigt, wie Sie die Indexquellen konfigurieren und Symbole veröffentlichen, um Symbole in einer Dateifreigabe zu veröffentlichen.

Veröffentlichen von tragbaren PDBs auf dem Azure Artifacts-Symbolserver

Portable PDBs sind Symboldateien, die auf allen Plattformen erstellt und verwendet werden können, im Gegensatz zu den herkömmlichen PDBs, die nur unter Windows verwendet werden. Bei tragbaren PDBs führt der Build die Indizierung durch, Sie müssen jedoch weiterhin die Aufgabe "Indexquellen" und "Symbole veröffentlichen" verwenden, um Ihre Symbole zu veröffentlichen.

Der Quelllink ist eine Reihe von Tools, mit denen Entwickler ihren Quellcode debuggen können, indem sie die .NET-Assemblys wieder dem Quellcode zuordnen. Sehen Sie sich das GitHub-Repository dotnet/sourcelink an, um mehr über die verschiedenen enthaltenen Pakete zu erfahren.

  • Fügen Sie für Projekte, die auf GitHub gehostet werden, den Microsoft.SourceLink.GitHub Paketverweis zu Ihrer Projektdatei hinzu.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Fügen Sie für Projekte, die in Azure Repos (früher Visual Studio Team Services) gehostet werden, den Microsoft.SourceLink.AzureRepos.Git Paketverweis zu Ihrer Projektdatei hinzu.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Fügen Sie für Projekte, die auf Azure DevOps Server (ehemaliger Team Foundation Server) gehostet werden, den Microsoft.SourceLink.AzureDevOpsServer.Git Paketverweis zu Ihrer Projektdatei hinzu.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    

Einrichten der Veröffentlichungsaufgabe

Die Aufgabe "Indexierung von Quellen und Veröffentlichung von Symbolen" wird verwendet, um Ihren Quellcode zu indizieren und Ihre Symbole auf dem Azure Artifacts-Symbolserver und in Dateifreigaben zu veröffentlichen. Da wir den Quelllink verwenden, müssen wir die Indizierung in der Veröffentlichungsaufgabe deaktivieren.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie "Pipelines", wählen Sie Ihre Pipeline aus, und wählen Sie dann "Bearbeiten" aus, um Ihre Pipeline zu ändern.

  3. Wählen Sie + aus Ihrer Pipelinedefinition aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der Aufgabe Indexquellen und Symbole veröffentlichen. Wählen Sie "Hinzufügen" aus, um sie zu Ihrer Pipeline hinzuzufügen.

  5. Füllen Sie die erforderlichen Felder aus, und wählen Sie "Symbolserver" für den Symbolservertyp aus. Stellen Sie sicher, dass Sie das Kontrollkästchen bei Quellen indizieren deaktivieren, um die Indizierung auszuschalten.

    Screenshot, der zeigt, wie Sie die Veröffentlichungsaufgabe so konfigurieren, dass tragbare PDBs auf dem Azure Artifacts-Symbolserver veröffentlicht werden.

Von Bedeutung

Zum Löschen von Symbolen, die über die Aufgabe "Indexquellen und Veröffentlichungssymbole " veröffentlicht werden, müssen Sie zuerst den Build löschen, der diese Symbole generiert hat. Dazu können Aufbewahrungsrichtlinien oder manuell Löschen der Ausführungverwendet werden.

Einrichten von Visual Studio

Hinweis

Visual Studio für Mac unterstützt das Debuggen nicht mithilfe von Symbolservern.

Bevor wir mit der Nutzung unserer Symbole vom Azure Artifacts-Symbolserver beginnen, stellen wir sicher, dass Visual Studio ordnungsgemäß eingerichtet ist:

  1. Wählen Sie in Visual Studio Extras und dann Optionen aus.

  2. Wählen Sie im Menü "Debuggen" die Option "Symbole" aus.

  3. Wählen Sie das + Zeichen aus, um einen neuen Symbolserverspeicherort hinzuzufügen.

    Screenshot, der zeigt, wie ein neuer Speicherort für den Symbolserver hinzugefügt wird.

  4. Ein neues Dialogfeld wird angezeigt, wählen Sie Ihr Konto aus dem Dropdownmenü aus, und wählen Sie dann die Organisation aus, mit der Sie eine Verbindung herstellen möchten. Wählen Sie "Verbinden" aus, wenn Sie fertig sind.

  5. Wählen Sie im selben Debugabschnitt "Allgemein" aus. Scrollen Sie bitte nach unten und aktivieren Sie die Unterstützung von Quelllinks, um tragbare PDBs zu unterstützen.

    Screenshot, der zeigt, wie Die Unterstützung von Quelllinks in Visual Studio aktiviert wird.

Hinweis

Wenn Sie die Option "Quellserverunterstützung aktivieren" aktivieren, können Sie den Quellserver in Fällen verwenden, in denen der Quellcode nicht lokal verfügbar ist oder die Symboldatei nicht mit dem Quellcode übereinstimmt. Wenn Sie das Debuggen für Quellcode von Drittanbietern aktivieren möchten, deaktivieren Sie das Kontrollkästchen "Nur mein Code aktivieren ".

Häufig gestellte Fragen

F: Was ist die Dauer, für die Symbole aufbewahrt werden?

A: Eine Symboldatei hat denselben Aufbewahrungszeitraum wie der Build, der sie generiert hat. Wenn Sie einen Build entweder manuell oder mithilfe von Aufbewahrungsrichtlinien löschen, werden auch die von diesem Build generierten Symbole gelöscht.

F: Kann ich die Quellindizierung für eine tragbare PDB verwenden, die aus einer .NET Core-Assembly generiert wurde?

A: Dies ist derzeit nicht möglich. Derzeit wird die Quellenindizierung für portable PDBs nicht unterstützt. Der empfohlene Ansatz besteht darin, Den Build so zu konfigurieren, dass die Indizierung ausgeführt wird.