.NET Core - Freigeben von Bibliotheken

In diesem Kapitel wird erläutert, wie Sie Ihre Bibliothek als freigeben können NuGet Packagedamit es in einem anderen Projekt verbraucht werden kann. Das Erstellen eines Pakets beginnt mit dem Code, den Sie verpacken und mit anderen teilen möchten, entweder über die öffentliche Galerie nuget.org oder eine private Galerie in Ihrer Organisation. Das Paket kann auch zusätzliche Dateien enthalten, zreadme Dies wird angezeigt, wenn das Paket installiert wird, und kann Transformationen in bestimmte Projektdateien enthalten.

Betrachten wir nun ein einfaches Beispiel, in dem wir ein NuGet-Paket aus unserer Bibliothek erstellen. Öffnen Sie dazu die Eingabeaufforderung und wechseln Sie in den Ordner, in dem sich die Datei project.json Ihres Bibliotheksprojekts befindet.

Lassen Sie uns nun den folgenden Befehl ausführen.

dotnet help

Am Ende sehen Sie verschiedene Befehle wie Neu, Wiederherstellen und Erstellen usw.

Der letzte Befehl ist pack;Dadurch wird ein NuGet-Paket erstellt. Lassen Sie uns nun den folgenden Befehl ausführen.

dotnet pack

Sie können jetzt sehen, dass die NuGet-Pakete im Ordner bin erstellt werden. Lassen Sie uns den Ordner bin \ Debug öffnen.

Die Frage ist nun, was sich in den NuGet-Paketen befindet, um zu sehen, dass wir NuGet Package Explorer verwenden können. Öffnen wir nun den NuGet Package Explorer.

Wählen Sie die erste Option Open a local package.

Wähle aus StringLibrary.1.0.0.nupkg und klicken Sie auf Open.

Sie können sehen, dass wir im Abschnitt Paketinhalt nur StringLibrary.dll haben. Im Abschnitt Paketmetadaten sehen Sie einige Informationen zu dieser Bibliothek wie ID, Versionen und alle Abhängigkeiten.

Lassen Sie uns jetzt die öffnen StringLibrary.1.0.0.symbols.nupkg.

In diesem NuGet-Paket sehen Sie die Quelldateien und die *.pdbDatei auch. Wenn Sie auf das doppelklickenStringLib.cs Datei sehen Sie auch den Quellcode.

Hier stellt sich die Frage, wie die Metadaten wie Version, Autoren und Beschreibung usw. konfiguriert werden können.

Die Datei project.json wird in .NET Core-Projekten verwendet, um Projektmetadaten, Kompilierungsinformationen und Abhängigkeiten zu definieren. Öffnen wir nun die Datei project.json und fügen die folgenden zusätzlichen Informationen hinzu.

{ 
   "authors": [ "Mark Junior" ], 
   "description": "String Library API", 
   "version" : "1.0.1-*", 
   "supports": {}, 
   
   "dependencies": { 
      "Microsoft.EntityFrameworkCore": "1.1.0", 
      "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
      "NETStandard.Library": "1.6.0", 
      "System.Runtime.Serialization.Json": "4.0.3", 
      "System.Runtime.Serialization.Primitives": "4.3.0" 
   }, 
   "frameworks": { 
      "netstandard1.3": {} 
   } 
}

Hier können Sie zusätzliche Informationen wie Autorenname, Beschreibung und Version sehen. Speichern Sie diese Datei, erstellen Sie das Bibliotheksprojekt und führen Sie den Befehl „dotnet pack“ erneut aus.

Im Ordner bin \ Debug können Sie sehen, dass die StringLibrary NuGet-Pakete mit Version 1.0.1 erstellt wurden. Lassen Sie es uns im NuGet Package Explorer öffnen.

Sie sehen die aktualisierten Metadaten. Die Frage ist nun, wie wir es in einem anderen Paket verwenden können.

Wir müssen zunächst irgendwo im NuGet-Feed veröffentlichen und können ihn dann in einem anderen Projekt verwenden.

Es gibt zwei Möglichkeiten, die aktualisierten Metadaten zu veröffentlichen:

  • Veröffentlichen Sie es auf nuget.org
  • Verschieben Sie die Metadaten in einen privaten NuGet-Feed

Hier werden wir den privaten NuGet-Feed verwenden, da es viel einfacher ist, ein Konto auf nuget.org einzurichten. Um zu erfahren, wie Sie Ihr Paket auf nuget.org veröffentlichen, können Sie alle hier angegebenen Richtlinien befolgenhttps://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package.

Befolgen Sie diese Schritte, um die aktualisierten Metadaten in einen privaten NuGet-Feed zu übertragen.

Step 1- Zunächst benötigen wir das Nuget-Befehlszeilenprogramm und müssen es installieren. Öffnen wir nun den NuGet Package Manager und suchen nach nuget.commandline.

Step 2 - Wählen Sie Nuget.Commandline und klicken Sie auf Install.

Step 3 - Klicken Sie auf OKum Nuget.Commandline zu installieren. Sie können es auch manuell installieren, indem Sie es von der folgenden URL herunterladenhttps://dist.nuget.org/index.html und richten Sie dann die Umgebungsvariable ein.

Step 4 - Lassen Sie uns nach Abschluss der Installation die Eingabeaufforderung erneut öffnen und gehen Sie zu bin\Debug Ordner, in dem sich die NuGet-Pakete befinden, und geben Sie den folgenden Befehl an:

nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages

Step 5 - Im obigen Befehl fügen wir das Paket StringLibrary.1.0.1.nupkg zu unserem privaten Feed hinzu und der Speicherort ist D:\PrivateNugetPackages, -Source gibt die Paketquelle an.

Step 6 - Sie können sehen, dass die StringLibraryist installiert; dasStringLibrary kann weiter zum privaten Feed hinzugefügt werden.

Step 7 - Lass uns zu diesem Ordner gehen.

Step 8 - In der stringlibrary Ordner, sehen Sie einen anderen Ordner mit dem Versionsnamen und hier ist es 1.0.1.

Das NuGet-Paket befindet sich hier.