Creare un pacchetto NuGet
Quando si crea un pacchetto della libreria di classi Razor, si dispone di un risultato finale binario che altri progetti Blazor possono fare riferimento e i componenti all'interno di esso possono essere usati in tali progetti.
In un'unità precedente è stata creata una libreria di classi Razor con un componente modale che offre una finestra di dialogo modale per le applicazioni Blazor. Per condividere tale componente da usare in altre applicazioni, è necessario creare un pacchetto e inserirlo in un repository o in una cartella in cui altri sviluppatori possono acquisirlo.
In questa unità si aggiorna il progetto e si genera un pacchetto NuGet. Infine, si distribuisce il pacchetto NuGet nell'applicazione server Blazor.
Aggiungere proprietà del pacchetto a FirstClassLibrary
Per iniziare, aggiornare il progetto FirstClassLibrary con proprietà che consentono di crearne il pacchetto per la distribuzione come pacchetto NuGet.
Aprire il file di progetto per il progetto FirstClassLibrary . Fare doppio clic sul progetto in Esplora soluzioni di Visual Studio o aprire il file FirstClassLibrary.csproj in Visual Studio Code.
Nella parte superiore del file, nella sezione con il
<PropertyGroup>tag aggiungere il contenuto seguente prima del tag di chiusura</PropertyGroup>:<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>Questo codice definisce la libreria di classi Razor indicando che ha
<PackageId>"My.FirstClassLibrary" e<Version>0.1.0. Immettere il proprio nome e il nome della società in questi due campi.
Creare un pacchetto della libreria per il riutilizzo
Eseguire quindi il comando .NET dalla riga di comando per creare un pacchetto della libreria di classi Razor in modo che altre applicazioni esterne alla soluzione possano farvi riferimento.
È possibile eseguire questi stessi passaggi nel processo di integrazione continua per creare un pacchetto di una libreria e distribuirlo in NuGet.org, in un repository GitHub o in un'altra posizione in cui condividere l'organizzazione.
Nella stessa cartella del file FirstClassLibrary.csproj eseguire il comando seguente:
dotnet pack
Questo comando scrive un file denominato My.FirstClassLibrary.0.1.0.nupkg nella cartella bin/Release .
Aggiungere un riferimento al pacchetto NuGet nell'applicazione MyBlazorApp
È già stato fatto riferimento al progetto FirstClassLibrary nell'applicazione MyBlazorApp, perché si trovava nella stessa struttura di cartelle dell'applicazione Web.
A questo punto, si annulla il riferimento al progetto e si aggiunge un riferimento al pacchetto NuGet creato in precedenza.
I passaggi seguenti non descrivono una configurazione tipica. I progetti di libreria che risiedono nelle stesse cartelle o soluzioni delle applicazioni che vogliono farvi riferimento possono fare riferimento direttamente al progetto, come illustrato nell'esercizio precedente.
Aprire il file MyBlazorApp.csproj facendo doppio clic sul nome del progetto MyBlazorApp in Visual Studio o aprendo il file in Visual Studio Code.
Nel file MyBlazorApp.csproj rimuovere la riga seguente:
<ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />Nella stessa cartella di MyBlazorApp.csproj eseguire il comando seguente:
dotnet add package My.FirstClassLibrary -s ../FirstClassLibrary/bin/ReleaseQuesto comando afferra il pacchetto NuGet creato in precedenza, installa una copia nella cache del pacchetto NuGet locale e quindi aggiunge un riferimento a tale pacchetto nel file MyBlazorApp.csproj .
Controlla il tuo lavoro
Il nuovo pacchetto è stato installato correttamente? È possibile avviare l'applicazione FirstServer e visualizzare una finestra modale all'avvio dell'applicazione?
Verrà ora esaminato questo aspetto:
Avviare l'applicazione MyBlazorApp in Visual Studio selezionando F5 o nella cartella MyBlazorApp eseguendo il comando seguente:
dotnet runNel browser passare alla home page dell'applicazione MyBlazorApp:
https://localhost:5000.Viene visualizzata la finestra di dialogo Il mio primo Modale? In tal caso, è tutto a posto! Il progetto FirstClassLibrary è stato impacchettato e distribuito con successo. Le applicazioni ovunque ora possono usare il componente finestra modale facendo riferimento al pacchetto NuGet appena creato.