Erstellen eines NuGet-Pakets

Abgeschlossen

Wenn Sie Ihre Razor-Klassenbibliothek verpacken, verfügen Sie über einen binären Lieferumfang, auf den andere Blazor-Projekte verweisen können, und die darin enthaltenen Komponenten können in diesen Projekten verwendet werden.

In einer früheren Einheit haben Sie eine Razor-Klassenbibliothek mit einer modalen Komponente erstellt, die ein modales Dialogfeld für Blazor-Anwendungen bereitstellt. Um diese Komponente für die Verwendung in anderen Anwendungen freizugeben, müssen Sie sie in einem Repository oder in einem Ordner platzieren, in dem andere Entwickler sie erwerben können.

In dieser Einheit aktualisieren Sie dieses Projekt und generieren ein NuGet-Paket. Schließlich stellen Sie dieses NuGet-Paket in Ihrer Blazor-Serveranwendung bereit.

Hinzufügen von Paketeigenschaften zu FirstClassLibrary

Aktualisieren Sie zunächst das FirstClassLibrary-Projekt mit Eigenschaften, mit denen es für die Bereitstellung als NuGet-Paket gepackt werden kann.

  1. Öffnen Sie die Projektdatei für das FirstClassLibrary-Projekt . Doppelklicken Sie im Visual Studio-Projektmappen-Explorer auf das Projekt, oder öffnen Sie die Datei "FirstClassLibrary.csproj" in Visual Studio Code.

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

        <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 Ihre Razor-Klassenbibliothek als <PackageId> "My.FirstClassLibrary" und <Version> "0.1.0". Geben Sie Ihren eigenen Namen und den Firmennamen in diese beiden Felder ein.

Verpacken der Bibliothek zur Wiederverwendung

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

Sie können diese Schritte in Ihrem kontinuierlichen Integrationsprozess ausführen, um eine Bibliothek zu packen und in NuGet.org, einem GitHub-Repository oder einem anderen Speicherort für Ihre Organisation bereitzustellen.

Führen Sie im gleichen Ordner wie die Datei "FirstClassLibrary.csproj " den folgenden Befehl aus:

dotnet pack

Mit diesem Befehl wird eine Datei namens "My.FirstClassLibrary.0.1.0.nupkg " in Den Ordner "bin/Release " geschrieben.

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

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

Jetzt können Sie diesen Projektverweis rückgängig machen und einen Verweis auf das zuvor erstellte NuGet-Paket hinzufügen.

Die folgenden Schritte beschreiben keine typische Konfiguration. Bibliotheksprojekte, die sich in den gleichen Ordnern oder Lösungen wie die Anwendungen befinden, auf die verwiesen werden soll, können direkt auf das Projekt verweisen, wie Sie in der früheren Übung gesehen haben.

  1. Öffnen Sie die Datei "MyBlazorApp.csproj ", indem Sie entweder auf den Projektnamen "MyBlazorApp" in Visual Studio doppelklicken oder die Datei in Visual Studio Code öffnen.

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

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

  3. Führen Sie im gleichen Ordner wie MyBlazorApp.csproj den folgenden Befehl aus:

    dotnet add package My.FirstClassLibrary -s ../FirstClassLibrary/bin/Release
    

    Mit diesem Befehl wird das zuvor erstellte NuGet-Paket abgerufen, eine Kopie im lokalen NuGet-Paketcache installiert und dann in der Datei "MyBlazorApp.csproj " ein Verweis auf dieses Paket hinzugefügt.

Überprüfen Sie Ihre Arbeit

Wurde Das neue Paket ordnungsgemäß installiert? Können Sie die FirstServer-Anwendung starten und beim Starten der Anwendung ein modales Fenster anzeigen?

Lassen Sie uns folgendes herausfinden:

  1. Starten Sie die Anwendung "MyBlazorApp" entweder in Visual Studio, indem Sie F5 oder im Ordner "MyBlazorApp" auswählen, indem Sie den folgenden Befehl ausführen:

    dotnet run

  2. Wechseln Sie in Ihrem Browser zur Startseite der Anwendung MyBlazorApp: https://localhost:5000.

    Wird das dialogfeld "Mein erstes modales Dialogfeld " angezeigt? Wenn ja, herzlichen Glückwunsch! Sie haben das FirstClassLibrary-Projekt erfolgreich gepackt und ordnungsgemäß bereitgestellt. Anwendungen können jetzt überall Ihre modale Fensterkomponente verwenden, indem sie auf ihr neu erstelltes NuGet-Paket verweisen.