Veröffentlichen von Paketen in NuGet.org

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

NuGet.org ist das öffentliche Paket-Repository für .NET, mit dem Entwickler wiederverwendbaren Code freigeben können. Ein NuGet-Paket ist eine komprimierte Datei mit einer .nupkg Erweiterung, die kompilierten Code und zugehörige Metadaten enthält, die Sie in anderen Projekten wiederverwenden können. Wenn Sie Ihr Paket auf NuGet.org veröffentlichen, stellen Sie es Entwicklern weltweit zur Verfügung.

Voraussetzungen

Produkt Anforderungen
Visual Studio & .NET - Visual Studio mit einer .NET-Workload.
- Das neueste .NET SDK.
NuGet.org - Ein kostenloses NuGet.org Konto

Erstellen eines Projekts

Sie können ein vorhandenes .NET Projekt verwenden, um ein NuGet-Paket zu erstellen und zu generieren, oder ein neues Klassenbibliotheksprojekt für dieses Lernprogramm erstellen:

  1. Klicken Sie in Visual Studio auf Datei>Neu>Projekt.

  2. Wählen Sie die Vorlage "Kursbibliothek" und dann "Weiter" aus.

  3. Geben Sie einen Namen für Ihr Projekt und Ihre Projektmappe ein, wählen Sie einen lokalen Ordner aus, und wählen Sie dann "Weiter" aus.

  4. Wählen Sie Ihr Framework und dann "Erstellen" aus, wenn Sie fertig sind.

Die Standardklassenbibliotheksvorlage reicht aus, um ein NuGet-Paket zu erstellen. Daher verwendet dieses Lernprogramm das generierte Projekt, ohne Codeänderungen vorzunehmen.

Einrichten und Generieren eines Pakets

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, und wählen Sie dann Properties>Package aus.

  2. Geben Sie Ihre Paketdetails ein, und stellen Sie sicher, dass Ihre Paket-ID eindeutig ist, damit es nicht mit vorhandenen Paketen in NuGet.org in Konflikt steht. Ein gängiges Benennungsmuster ist Company.Product.Feature. Wenn Sie das Paket jedes Mal generieren möchten, wenn Sie das Projekt erstellen, wählen Sie "NuGet-Paket beim Build generieren" aus.

  3. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, und wählen Sie dann Pack aus, um die datei .nupkg zu generieren.

  4. Überprüfen Sie den Status des Paketbefehls im Ausgabefenster.

Generieren eines API-Schlüssels

Nachdem Sie ihr .nupkg Paket erstellt haben, generieren Sie einen API-Schlüssel, damit Sie es in NuGet.org veröffentlichen können.

  1. Melden Sie sich bei Ihrem NuGet.org-Konto an, oder erstellen Sie ein Konto, falls noch nicht.

  2. Wählen Sie Ihr Benutzersymbol und dann API-Schlüssel aus.

  3. Wählen Sie Erstellen aus, geben Sie einen Namen für den Schlüssel ein, legen Sie den Bereich auf Neue Pakete und Paketversionen veröffentlichen fest und geben Sie im Globmuster * ein, um alle Pakete zuzulassen. Wenn Sie fertig sind, wählen Sie "Erstellen" aus.

    Screenshot der NuGet.org Seite zum Erstellen von API-Schlüsseln mit Bereichs- und Paketmusterfeldern, die für die Paketveröffentlichung konfiguriert sind.

  4. Wählen Sie "Kopieren" aus, und speichern Sie den API-Schlüssel an einem sicheren Ort. Sie verwenden diesen Schlüssel, wenn Sie das Paket veröffentlichen.

    Screenshot NuGet.org mit dem generierten API-Schlüssel und der zum sicheren Speichern verwendeten Kopieraktion.

Veröffentlichen eines Pakets in NuGet.org

Sie können Ihr Paket mithilfe der NuGet.org Web-UI, der dotnet CLI oder nuget.exeveröffentlichen. In diesem Lernprogramm wird die dotnet CLI verwendet. Zum Veröffentlichen benötigen Sie den Paketdateinamen, den API-Schlüssel und die NuGet.org Quell-URL.

  1. Wechseln Sie in einem Eingabeaufforderungsfenster zu dem Ordner, der Ihre .nupkg Datei enthält.

  2. Führen Sie den folgenden Befehl aus, um das Paket in NuGet.org zu veröffentlichen. Ersetzen Sie die Platzhalter durch ihren Paketdateinamen und den API-Schlüssel.

    dotnet nuget push <packageName> --api-key <APIKey> --source https://api.nuget.org/v3/index.json
    
  3. Stellen Sie sicher, dass aus der Befehlsausgabe hervorgeht, dass das Paket erfolgreich übertragen wurde.

    Screenshot der Eingabeaufforderungsausgabe, die bestätigt, dass der Dotnet-Nuget-Pushbefehl erfolgreich das Paket veröffentlicht hat.