Erstellen eines NuGet-Pakets

Abgeschlossen

Wenn Sie Ihre Razor-Klassenbibliothek packen, erhalten Sie ein binäres Ergebnis, auf das Blazor-Projekte verweisen können. Die darin enthaltenen Komponenten können in diesen Projekten verwendet werden.

In einer vorherigen Einheit haben Sie eine Razor-Klassenbibliothek mit einer modalen Komponente erstellt, die ein modales Dialogfenster für Blazor-Anwendungen bereitstellt. Um diese Komponente für die Verwendung in anderen Anwendungen freizugeben, müssen Sie sie packen und entweder in einem Repository oder einem Ordner ablegen, damit andere Entwickler sie dort abrufen können.

In dieser Lerneinheit aktualisieren wir dieses Projekt und generieren ein NuGet-Paket. Schließlich stellen wir dieses NuGet-Paket für unsere Blazor-Serveranwendung bereit.

Hinzufügen von Paketeigenschaften zu „FirstClassLibrary“

Beginnen Sie damit, das Projekt FirstClassLibrary mit Eigenschaften zu aktualisieren, die es ermöglichen, es für die Bereitstellung als NuGet-Paket zu packen.

  1. Öffnen Sie die Projektdatei für das Projekt MyClassLibrary entweder durch Doppelklicken auf das Projekt im Projektmappen-Explorer von Visual Studio oder durch Öffnen der Datei MyClassLibrary.csproj in Visual Studio Code.

  2. Fügen Sie oben in der Datei im Abschnitt mit dem Tag <PropertyGroup> den folgenden Inhalt vor dem schließenden Tag </PropertyGroup> ein:

        <PackageId>My.FirstClassLibrary</PackageId>
        <Version>0.1.0</Version>
        <Authors>YOUR NAME</Authors>
        <Company>YOUR COMPANY NAME</Company>
        <Description>This is a Razor component library with a cool modal window component.</Description>
      </PropertyGroup>
    

    Dieser Code definiert unsere Razor-Klassenbibliothek mit der <PackageId> „My.FirstClassLibrary“ und <Version> 0.1.0. Geben Sie in diese beiden Felder Ihren eigenen Namen und den Namen Ihres Unternehmens ein.

Packen der Bibliothek zur Wiederverwendung

Als Nächstes führen Sie den .NET-Befehl über die Befehlszeile aus, um die Razor-Klassenbibliothek zu packen, damit andere Anwendungen außerhalb Ihrer Projektmappe darauf verweisen können.

Sie können dieselben Schritte in Ihrem Continuous Integration-Prozess ausführen, um eine Bibliothek zu packen und sie auf NuGet.org, in einem GitHub-Repository oder an einem anderen Speicherort bereitzustellen, den Ihr Unternehmen freigeben kann.

Führen Sie im Ordner mit der Datei MyClassLibrary.csproj den folgenden Befehl aus:

dotnet pack

Dieser Befehl schreibt eine Datei namens My.FirstClassLibrary.0.1.0.nupkg in Ihren Ordner bin/Debug.

Hinzufügen eines Verweises auf das NuGet-Paket in der MyBlazorServer-Anwendung

Sie haben bereits auf das Projekt FirstClassLibrary in Ihrer MyBlazorServer-Anwendung verwiesen, da es sich in derselben Ordnerstruktur wie die Webanwendung befindet.

Jetzt machen Sie diesen Projektverweis rückgängig und fügen einen Verweis auf das NuGet-Paket hinzu, das Sie zuvor erstellt haben.

Diese Schritte stellen keine typische Konfiguration dar. Bibliotheksprojekte, die sich in denselben Ordnern oder in derselben Projektmappe befinden wie die Anwendungen, die auf sie verweisen möchten, können direkt auf das Projekt verweisen, wie in der vorherigen Übung gezeigt.

  1. Öffnen Sie die Datei MyBlazorServer.csproj durch Doppelklicken auf den Projektnamen MyBlazorServer in Visual Studio oder durch Öffnen der Datei in Visual Studio Code.

  2. Entfernen Sie in der Datei MyBlazorServer.csproj die folgende Zeile:

    <ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />

  3. Führen Sie im Ordner, der MyBlazorServer.csproj enthält, den folgenden Befehl aus:

    dotnet add package My.FirstClassLibrary -s ..\FirstClassLibrary\bin\Debug
    

    Dieser Befehl ruft das NuGet-Paket ab, das Sie zuvor erstellt haben, installiert eine Kopie in Ihrem lokalen NuGet-Paketcache und fügt dann einen Verweis auf dieses Paket in die Datei MyBlazorServer.csproj ein.

Arbeit überprüfen

Wurde das neue Paket ordnungsgemäß installiert? Können Sie die Anwendung FirstServer starten und ein modales Fenster sehen, wenn die Anwendung gestartet wird?

Lassen Sie es uns herausfinden:

  1. Starten Sie die Anwendung MyBlazorServer in Visual Studio, indem Sie F5 drücken, oder im Ordner „MyBlazorServer“, indem Sie den folgenden Befehl ausführen:

    dotnet run

  2. Navigieren Sie in Ihrem Browser zur Startseite der Anwendung MyBlazorServer: https://localhost:5000.

    Wird das Dialogfeld My first Modal dialog angezeigt? Wenn ja, herzlichen Glückwunsch! Sie haben das Projekt FirstClassLibrary erfolgreich gepackt und ordnungsgemäß bereitgestellt. Beliebige Anwendungen können jetzt Ihre modale Fensterkomponente verwenden, indem sie auf Ihr neu erstelltes NuGet-Paket verweisen.