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
- Eine Azure DevOps-Organisation. Erstellen Sie eine Organisation, wenn Sie noch keine haben.
- Ein Azure DevOps-Projekt. Wenn Sie noch kein Projekt haben, können Sie ein neues Projekterstellen.
- Ein Azure Artifacts-Feed. Erstellen Sie einen neuen Feed, wenn Sie noch keinen haben.
- Stellen Sie eine Verbindung mit dem Azure Artifacts-Feed her: NuGet.exe, dotnet.
- Richten Sie Ihre Pipelineberechtigungen ein.
Wiederherstellen von NuGet-Paketen aus einem Feed
Navigieren Sie zu Ihrer klassischen Pipelinedefinition, und wählen Sie dann Bearbeiten aus.
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.
Benennen Sie Ihre Aufgabe, und wählen Sie unter Befehl die Option Wiederherstellen aus.
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.
Wenn Sie Pakete aus „NuGet.org“ einschließen möchten, aktivieren Sie das Kontrollkästchen Pakete aus "NuGet.org" verwenden.
Wählen Sie Speichern und in Warteschlange einreihen aus, wenn Sie fertig sind.
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
Navigieren Sie zu Ihrer Azure DevOps-Organisation, und wählen Sie dann Benutzereinstellungen>Persönliche Zugriffstoken aus.
Erstellen Sie ein persönliches Zugriffstoken mit den Bereich Verpacken (Lesen), und kopieren Sie Ihr PAT in die Zwischenablage.
Wiederherstellen der NuGet-Pakete
Navigieren Sie zu Ihrer Pipelinedefinition, und wählen Sie die Aufgabe NuGet-Wiederherstellung aus. Stellen Sie sicher, dass Sie Version 2 der Aufgabe verwenden.
Wählen Sie Feeds und Authentifizierung und dann Feeds in meiner NuGet.config aus.
Wählen Sie den Pfad Ihrer NuGet.config-Datei aus.
Wählen Sie Neu aus, um Anmeldeinformationen für Feeds außerhalb dieser Organisation/Sammlung hinzuzufügen.
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.
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.