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

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

Mit Azure Artifacts können Sie Ihre NuGet-Pakete in und aus Ihrem Feed veröffentlichen und wiederherstellen, sodass Sie sie gemäß den Sichtbarkeitseinstellungen Ihres Feeds für andere Personen freigeben können. Dieser Leitfaden führt Sie durch die Konfiguration Ihres Projekts zum Veröffentlichen oder Wiederherstellen von Paketen mithilfe der dotnet-Befehlszeilenschnittstelle.

Voraussetzungen

Verbindung mit Feed herstellen

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

  2. Wählen Sie Verbinden zum Feed aus, und wählen Sie dann dotnet aus dem NuGet-Abschnitt auf der linken Seite aus.

  3. 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:

  • 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>
    
  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 Verbinden zu Feed aus, und wählen Sie dann im linken Navigationsbereich punktnet aus.

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

    Screenshot, der zeigt, wie Sie eine Verbindung mit einem Feed mit dotnet in Azure DevOps Server 2020 und 2022 herstellen.

Hinweis

dotnet wird in Azure DevOps Server 2019 nicht unterstützt.

Veröffentlichen von Paketen

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

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

Dies api-key wird nur als Platzhalter verwendet.

Veröffentlichen von Paketen aus externen Quellen

  1. Erstellen Sie ein persönliches Zugriffstoken (PERSONAL Access Token , PAT) mit Lese- und Schreibbereich .

  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 zur Datei "nuget.config " hinzuzufügen. Dadurch wird Ihr PAT zu Ihrer nuget.config hinzugefügt. Stellen Sie sicher, dass Sie diese Datei sicher speichern und nicht in die Quellcodeverwaltung einchecken.

    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. Veröffentlichen Sie Ihr Paket:

    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.configdotnet 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 Sie die Azure Artifacts Do Standard-URLs und IP-Adressen zulassen.

Pakete wiederherstellen

Führen Sie den folgenden Befehl aus, um Ihre Pakete wiederherzustellen. Die --interactive Kennzeichnung wird verwendet, um den Benutzer zur Eingabe von Anmeldeinformationen aufzufordern:

dotnet restore --interactive