Veröffentlichen und Wiederherstellen von NuGet-Paketen über die Befehlszeile (dotnet)
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019 | TFS 2018
Mit Azure Artifacts können Sie Ihre NuGet-Pakete in/aus Ihrem Feed veröffentlichen und wiederherstellen und sie basierend auf den Sichtbarkeitseinstellungen Ihres Feeds für andere Freigeben. In diesem Artikel erfahren Sie, wie Sie Ihr Projekt einrichten, um Ihre Pakete über die dotnet-Befehlszeilenschnittstelle zu veröffentlichen und wiederherzustellen.
Voraussetzungen
Eine Azure DevOps-Organisation. Erstellen Sie eine Organisation, wenn Sie noch keine haben.
Ein Azure Artifacts-Feed. Erstellen Sie einen neuen Feed, wenn Sie noch keinen haben.
Laden Sie das .NET SDK herunter, und installieren Sie es.
Verbindung mit Feed herstellen
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie Connect to feed (Mit Feed verbinden) aus.
Wählen Sie im Abschnitt NuGetdie Option dotnet aus.
Erstellen Sie eine nuget.config-Datei im selben Ordner wie Ihre CSPROJ- oder SLN-Datei. Kopieren Sie den folgenden XML-Codeausschnitt, und fügen Sie ihn in Ihre neue Datei ein:
Organisationsbezogener Feed:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Projektbezogener Feed:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Wählen Sie Build and Release Packages (Pakete erstellen und freigeben>) aus.
Wählen Sie Ihren Feed im Dropdownmenü aus, oder erstellen Sie einen Feed, falls nicht.
Wählen Sie Connect to feed (Mit Feed verbinden) aus.
Wählen Sie NuGet aus, und befolgen Sie die Anweisungen, um eine Verbindung mit Ihrem Feed herzustellen.
Veröffentlichen von Paketen
Um ein Paket in Ihrem Feed zu veröffentlichen, führen Sie den folgenden Befehl an einer Eingabeaufforderung mit erhöhten Rechten aus. Ersetzen Sie die Platzhalter durch die entsprechenden Informationen:
dotnet nuget push <PACKAGE_PATH> --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING>
Hinweis
Wird api-key
nur als Platzhalter verwendet.
Beispiel:
dotnet nuget push MyPackage.5.0.2.nupkg --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ
Veröffentlichen von Paketen aus externen Quellen
Erstellen Sie ein persönliches Zugriffstoken (PAT) mit dem Packungsbereich für Lese- und Schreibzugriff .
Fügen Sie Ihrer nuget.config-Datei Ihre Paketquelle hinzu. Dadurch wird Ihr PAT ihrer nuget.config-Datei hinzugefügt. Stellen Sie sicher, dass Sie diese Datei an einem sicheren Ort speichern, und überprüfen Sie diese Datei nicht in der Quellcodeverwaltung.
dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
Veröffentlichen Sie Ihr Paket:
dotnet nuget push <PACKAGE_PATH> --source <SOURCE_NAME> --api-key <ANY_STRING>
Beispiel:
dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config dotnet nuget push nupkgs/mypackage.1.1.0.nupkg --source MySource --api-key AZ
Hinweis
Wenn Ihre Organisation eine Firewall oder einen Proxy-Server verwendet, stellen Sie sicher, dass Sie Azure Artifacts-Domänen-URLs und IP-Adressen zulassen.
Pakete wiederherstellen
Führen Sie zum Wiederherstellen Ihrer Pakete den folgenden Befehl an einer Eingabeaufforderung mit erhöhten Rechten aus. Das --interactive
Flag wird verwendet, um den Benutzer zur Eingabe von Anmeldeinformationen aufzufordern.
dotnet restore --interactive