Veröffentlichen von Paketen in NuGet.org

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

NuGet.org ist ein Paket-Manager, mit dem Entwickler wiederverwendbaren Code freigeben können. Ein NuGet-Paket ist eine komprimierte Datei mit .nupkg Der Erweiterung, die kompilierten Code enthält, der in anderen Projekten genutzt werden kann. Pakete, die in NuGet.org gehostet werden, stehen allen Entwicklern auf der ganzen Welt zur Verfügung.

Voraussetzungen

  • Jede Version von Visual Studio 2019 und der .NET Core-Workload.
  • dotnet CLI. Wenn sie noch nicht vorhanden ist, installieren Sie das .NET Core SDK.
  • Registrieren Sie sich für ein kostenloses Konto auf nuget.org , wenn Sie noch kein Konto haben.

Erstellen eines Projekts

Sie können Ihr eigenes .NET-Projekt verwenden, um ein NuGet-Paket zu erstellen und zu generieren, oder sie können eine neue einfache .NET-Klassenbibliothek wie folgt erstellen:

  1. Wählen Sie in Visual Studio "Datei", "Neu" und dann "Projekt" aus.

  2. Wählen Sie die Vorlage "Klassenbibliothek (.NET Standard)" und dann "Weiter" aus.

  3. Benennen Sie Ihr Projekt und Die Projektmappe, und wählen Sie dann einen Speicherort aus, um das Projekt lokal zu speichern. Wenn Sie fertig sind, wählen Sie Erstellen aus.

    Erstellen eines Klassenbibliotheksprojekts

Die Vorlagenklassenbibliothek reicht aus, um ein NuGet-Paket zu erstellen, daher verwenden wir für dieses Lernprogramm die vorhandene Vorlage, und wir schreiben keinen zusätzlichen Code.

Einrichten und Generieren eines Pakets

  1. Wählen Sie Ihr Projekt im Projektmappen-Explorer aus, klicken Sie mit der rechten Maustaste, und wählen Sie dann Eigenschaften aus.

  2. Füllen Sie das Formular aus, und stellen Sie sicher, dass Ihre Paket-ID eindeutig ist, andernfalls kann es zu Konflikten mit vorhandenen Paketen auf NuGet.org führen. Eine gängige Benennungskonvention ist etwa: Company.Product.Feature. Wenn Sie Ihr Paket jedes Mal generieren möchten, wenn Sie Ihr Projekt erstellen, aktivieren Sie das Kontrollkästchen "NuGet-Paket generieren" auf build.if you want to generate your package every time you build your project, select the Generate NuGet package on build checkbox.

    Konfigurieren von Paketeigenschaften

  3. Wählen Sie Ihr Projekt im Projektmappen-Explorer aus, klicken Sie mit der rechten Maustaste auf "Pack ", um das .nupkg Paket zu generieren.

    Generieren des Pakets

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

    Packausgabe

Generieren eines API-Schlüssels

Nachdem wir nun unser nupkg Paket erstellt haben, sind wir fast bereit, es zu veröffentlichen, aber zuerst müssen wir einen API-Schlüssel generieren, um eine Verbindung mit der NuGet.org-API herzustellen.

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

  2. Wählen Sie das Symbol "Benutzername" und dann "API-Schlüssel" aus.

  3. Wählen Sie "Erstellen" aus, und geben Sie dann einen Namen für Ihren Schlüssel ein. Geben Sie Ihrem Schlüssel einen Neuen Push-Paket- und Paketversionsbereich , und geben Sie * das Feld "Glob-Muster" ein, um alle Pakete auszuwählen. Wenn Sie fertig sind, wählen Sie Erstellen aus.

    API-Schlüssel erstellen

  4. Wählen Sie "Kopieren" aus, und speichern Sie Ihren API-Schlüssel an einem sicheren Speicherort. Wir benötigen diesen Schlüssel, um unser NuGet-Paket zu veröffentlichen.

    Kopieren des API-Schlüssels

Veröffentlichen eines Pakets in NuGet.org

Sie können Ihr Paket über die Web-UI, dotnet CLI oder nuget.exe CLI veröffentlichen. Wir konzentrieren uns auf die Veröffentlichung von Paketen mithilfe der Befehlszeile in diesem Abschnitt. Dazu benötigen Sie den Namen Ihres Pakets, einen API-Schlüssel und die Quell-URL.

  1. Navigieren Sie an einer Eingabeaufforderung mit erhöhten Rechten zu dem Ordner, der Ihr nupkg Paket enthält.

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

    dotnet nuget push <packageName> --api-key <APIKey> --source https://api.nuget.org/v3/index.json
    
  3. Die Ausgabe des vorherigen Befehls sollte etwa wie folgt aussehen.

    Veröffentlichen der Paketausgabe