Freigeben über


Veröffentlichen von NuGet-Paketen über die Befehlszeile (dotnet)

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

Dieser Leitfaden führt Sie durch die Konfiguration Ihres Projekts zum Veröffentlichen von NuGet-Paketen mithilfe der dotnet-Befehlszeilenschnittstelle.

Voraussetzungen

Produkt Anforderungen
Azure DevOps - Eine Azure DevOps Organisation.
- Ein Azure DevOps Projekt.
- Ein Azure Artifacts-Feed.
– Laden Sie den Azure Artifacts-Anmeldeinformationsanbieterherunter, und installieren Sie ihn.
- Herunterladen und Installieren .NET Core SDK (2.1.400+).

Einen Feed erstellen

Wenn Sie bereits über einen Feed verfügen, fahren Sie mit dem nächsten Schritt fort. Führen Sie andernfalls die folgenden Anweisungen aus, um eine neue zu erstellen:

  1. Melden Sie sich bei Azure DevOps an, und navigieren Sie zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed erstellen aus.

  3. Geben Sie einen beschreibenden Namen für Ihren Feed ein, und definieren Sie dessen Sichtbarkeit (wer Ihren Feed verwenden kann). Geben Sie den Bereich Ihres Feeds an, und aktivieren Sie das Kontrollkästchen "Pakete aus allgemeinen öffentlichen Quellen einschließen ", wenn Sie Pakete aus öffentlichen Quellen einschließen möchten.

  4. Wählen Sie Erstellen, wenn Sie fertig sind.

Verbindung zu einem Feed herstellen

Bevor Sie Pakete in Ihrem Feed veröffentlichen können, müssen Sie sich bei Azure Artifacts authentifizieren. Folgen Sie den nachstehenden Anweisungen, um Ihr Projekt einzurichten und sich mit Ihrem Feed zu authentifizieren:

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

  2. Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.

  3. Wählen Sie Verbindung mit Feed herstellen aus und navigieren Sie dann auf der linken Seite zum Abschnitt NuGet und wählen Sie dotnet aus.

  4. 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, und ersetzen Sie die Platzhalter durch die relevanten Informationen:

<?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>
  1. Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Artefakte und dann Ihren Feed aus.

  3. Wählen Sie Mit Feed verbinden und dann dotnet im linken Navigationsbereich aus.

  4. Folgen Sie den Anweisungen im Abschnitt "Project-Setup ", um eine Verbindung mit Ihrem Feed herzustellen.

    Screenshot, der zeigt, wie Eine Verbindung mit einem Feed mit dotnet in Azure DevOps Server 2020 und 2022 hergestellt wird.

Veröffentlichen von Paketen in einem Feed in derselben Organisation

Führen Sie den folgenden Befehl aus, um ein Paket in Ihrem Feed zu veröffentlichen. Ersetzen Sie die Platzhalter durch die entsprechenden Werte:

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

Beispiel:

dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

Hinweis

Der api-key Parameter ist beim Veröffentlichen in einem Azure Artifacts-Feed erforderlich, Sie können jedoch eine beliebige Zeichenfolge als Wert verwenden.

Veröffentlichen von Paketen in einem Feed in einer anderen Organisation

Um Ihre NuGet-Pakete in einem Feed in einer anderen Azure DevOps-Organisation zu veröffentlichen, müssen Sie zuerst ein persönliches Zugriffstoken (PAT) in der Zielorganisation erstellen, die neue Paketquelle zu Ihrer Konfigurationsdatei hinzufügen und dann den Befehl zum Veröffentlichen ausführen:

  1. Navigieren Sie zu der Organisation, die Ihren Zielfeed hostet, erstellen Sie ein persönliches Zugriffstoken (Personal Access Token, PAT) und legen Sie den Gültigkeitsbereich des Tokens auf Verpacken>Lesen und Schreiben fest.

  2. Ersetzen Sie den <PERSONAL_ACCESS_TOKEN> Platzhalter durch Ihr persönliches Zugriffstoken, und führen Sie dann den folgenden Befehl aus, um die Paketquelle zu Ihrer nuget.config Datei hinzuzufügen. Stellen Sie sicher, dass diese Datei sicher gespeichert und nicht in die Quellcodeverwaltung eingecheckt wird.

    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>
    
  3. Führen Sie den folgenden Befehl aus, um Ihr Paket zu veröffentlichen:

    dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
    

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 --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

Hinweis

Wenn Ihre Organisation eine Firewall oder einen Proxyserver verwendet, stellen Sie sicher, dass die UrLs und IP-Adressen der Azure Artifacts-Domäne zulässig sind.