Share via


Wiederherstellen von NuGet-Paketen mit Azure Pipelines

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

Mit der NuGet-Paketwiederherstellung können Sie alle Abhängigkeiten Ihres Projekts installieren, ohne sie in der Quellcodeverwaltung speichern zu müssen. Dies ermöglicht eine sauberere Entwicklungsumgebung und eine kleinere Repositorygröße. Sie können Ihre NuGet-Pakete mithilfe der NuGet-Wiederherstellungsaufgabe, der NuGet CLI oder der .NET Core CLI wiederherstellen. In diesem Artikel erfahren Sie, wie Sie Ihre NuGet-Pakete mit klassischen und YAML-Pipelines wiederherstellen.

Voraussetzungen

Wiederherstellen von NuGet-Paketen aus einem Feed

  1. Navigieren Sie zu Ihrer klassischen Pipelinedefinition, und wählen Sie dann Bearbeiten aus.

  2. Wählen Sie + aus, um eine neue Aufgabe hinzuzufügen. Suchen Sie nach NuGet, und wählen Sie dann Hinzufügen aus, um die Aufgabe zu Ihrer Pipeline hinzuzufügen.

  3. Benennen Sie Ihre Aufgabe, und wählen Sie unter Befehl die Option Wiederherstellen aus.

  4. Wählen Sie Feed(s), dich ich hier auswähle aus, und wählen Sie Ihren Feed aus dem Dropdownmenü aus. Wenn Sie Ihre eigene Konfigurationsdatei verwenden möchten, wählen Sie Feeds in meiner NuGet.config aus, und geben Sie den Pfad zu Ihrer NuGet.config-Datei und die Dienstverbindung ein, wenn Sie sich bei Feeds außerhalb Ihrer Organisation authentifizieren möchten.

  5. Wenn Sie Pakete aus „NuGet.org“ einschließen möchten, aktivieren Sie das Kontrollkästchen Pakete aus "NuGet.org" verwenden.

  6. Wählen Sie Speichern und in Warteschlange einreihen aus, wenn Sie fertig sind.

    Screenshot, der zeigt, wie Sie die NuGet-Wiederherstellungsaufgabe konfigurieren

Hinweis

Die klassische NuGet-Wiederherstellung verwendet die NuGetCommand@2-Aufgabe. Standardmäßig verwendet diese Version NuGet 4.1.0. Verwenden Sie die Aufgabe „Installer für NuGet-Tool“, wenn Sie eine andere NuGet-Version verwenden möchten.

Lokales Wiederherstellen von NuGet-Paketen

Platzieren Sie Ihre nuget.config-Datei in demselben Ordner wie Ihre .csproj- oder .sln-Datei. Ihre Konfigurationsdatei sollte dem folgenden Beispiel ähneln:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- remove inherited connection strings -->
    <clear />
    <!-- add an Azure Artifacts feed -->
    <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/microsoftLearnModule/_packaging/FabrikamFiber/nuget/v3/index.json" />
    <!-- Get packages from NuGet.org -->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

Um Ihre NuGet-Pakete wiederherzustellen, führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus:

nuget.exe restore

Wiederherstellen von NuGet-Paketen aus einem Feed in einer anderen Organisation

Zum Wiederherstellen von NuGet-Paketen aus einem Feed in einem anderen Azure DevOps-Organisation müssen Sie ein persönliches Zugriffstoken für die Authentifizierung verwenden.

Erstellen eines persönlichen Zugriffstokens

  1. Navigieren Sie zu Ihrer Azure DevOps-Organisation, und wählen Sie dann Benutzereinstellungen>Persönliche Zugriffstoken aus.

    Screenshot: Erstellen eines persönlichen Zugriffstokens

  2. Erstellen Sie ein persönliches Zugriffstoken mit den Bereich Verpacken (Lesen), und kopieren Sie Ihr PAT in die Zwischenablage.

    Screenshot: Erstellen eines persönlichen Zugriffstokens mit den Berechtigungen für „Verpacken (Lesen)“

Wiederherstellen der NuGet-Pakete

  1. Navigieren Sie zu Ihrer Pipelinedefinition, und wählen Sie die Aufgabe NuGet-Wiederherstellung aus. Stellen Sie sicher, dass Sie Version 2 der Aufgabe verwenden.

    Screenshot der Aufgabenversion für „NuGet-Wiederherstellung“

  2. Wählen Sie Feeds und Authentifizierung und dann Feeds in meiner NuGet.config aus.

  3. Wählen Sie den Pfad Ihrer NuGet.config-Datei aus.

  4. Wählen Sie Neu aus, um Anmeldeinformationen für Feeds außerhalb dieser Organisation/Sammlung hinzuzufügen.

    Screenshot, der zeigt, wie die NuGet-Wiederherstellungsaufgabe konfiguriert wird

  5. Wählen Sie Externe Azure DevOps Server-Instanz aus, und geben Sie dann Ihre Feed-URL (stellen Sie sicher, dass sie mit dem Inhalt Ihrer NuGet.config-Datei übereinstimmt), Ihren Dienstverbindungsnamen und das zuvor erstellte persönliche Zugriffstoken ein. Wählen Sie Speichern aus, wenn Sie fertig sind.

    Screenshot: Hinzufügen einer neuen Dienstverbindung

  6. Wählen Sie Speichern und in Warteschlange einreihen aus, wenn Sie fertig sind.

Häufig gestellte Fragen

F: Weshalb kann meine Pipeline meine NuGet-Pakete nicht wiederherstellen?

A: Die NuGet-Wiederherstellungsaufgabe kann aus mehreren Gründen fehlschlagen. Das häufigste Szenario ist, wenn Sie ein neues Projekt hinzufügen, das ein Zielframework erfordert, das von der NuGet-Version, die Ihre Pipeline verwendet, nicht unterstützt wird. Dieser Fehler tritt in der lokalen Entwicklungsumgebung im Allgemeinen nicht auf, da Visual Studio ihre Projektmappe entsprechend aktualisiert. Aktualisieren Sie Ihre NuGet-Aufgabe daher unbedingt auf die neueste Version.