.NET Core: condivisione di librerie
In questo capitolo, discuteremo come condividere la tua libreria come NuGet Packagein modo che possa essere consumato all'interno di un altro progetto. La creazione di un pacchetto inizia con il codice che desideri impacchettare e condividere con altri, tramite la galleria pubblica nuget.org o una galleria privata all'interno della tua organizzazione. Il pacchetto può anche includere file aggiuntivi come un filereadme che viene visualizzato quando il pacchetto viene installato e può includere trasformazioni a determinati file di progetto.
Consideriamo ora un semplice esempio in cui creeremo un pacchetto NuGet dalla nostra libreria. Per fare ciò, apri il prompt dei comandi e vai alla cartella in cui si trova il file project.json del tuo progetto di libreria.
Eseguiamo ora il seguente comando.
dotnet help
Alla fine, puoi vedere diversi comandi come nuovo, ripristino e build, ecc.
L'ultimo comando è pack;questo creerà un pacchetto NuGet. Eseguiamo ora il seguente comando.
dotnet pack
È ora possibile vedere che i pacchetti NuGet vengono prodotti nella cartella bin; apriamo la cartella bin \ Debug.
Ora la domanda è cosa c'è dentro i pacchetti NuGet, per vedere che possiamo usare NuGet Package Explorer. Apriamo ora NuGet Package Explorer.
Seleziona la prima opzione Open a local package.
Seleziona il StringLibrary.1.0.0.nupkg e fare clic Open.
Puoi vedere che nella sezione Contenuto del pacchetto abbiamo solo StringLibrary.dll. Nella sezione Metadati del pacchetto, vedrai un po 'di informazioni su questa libreria come Id, Versioni e tutte le dipendenze.
Apriamo ora il file StringLibrary.1.0.0.symbols.nupkg.
In questo pacchetto NuGet vedrai i file di origine e il file *.pdbfile pure. Se fai doppio clic sul fileStringLib.cs file, vedi anche il codice sorgente.
Qui la domanda è: come configurare i metadati come versione, autori e descrizione, ecc.
Il file project.json viene usato nei progetti .NET Core per definire i metadati del progetto, le informazioni di compilazione e le dipendenze. Apriamo ora il file project.json e aggiungiamo le seguenti informazioni aggiuntive.
{
"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": {}
}
}
Ora puoi vedere ulteriori informazioni come il nome dell'autore, la descrizione e la versione aggiunta qui. Salviamo questo file, compiliamo il progetto della libreria, quindi eseguiamo nuovamente il comando "dotnet pack".
All'interno della cartella bin \ Debug è possibile vedere che i pacchetti NuGet StringLibrary vengono prodotti con la versione 1.0.1; apriamolo in NuGet Package Explorer.
Vedrai i metadati aggiornati. La domanda ora è: come possiamo usarlo in un altro pacchetto.
Dobbiamo iniziare pubblicando da qualche parte nel feed NuGet e quindi possiamo utilizzarlo in un altro progetto.
Sono disponibili due opzioni per pubblicare i metadati aggiornati:
- Pubblicalo su nuget.org
- Esegui il push dei metadati nel feed NuGet privato
Qui useremo il feed NuGet privato perché è molto più semplice che configurare un account su nuget.org. Per sapere come pubblicare il tuo pacchetto su nuget.org, puoi seguire tutte le linee guida specificate quihttps://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package.
Segui questi passaggi per inviare i metadati aggiornati al feed NuGet privato.
Step 1- Per cominciare, abbiamo bisogno dell'utilità della riga di comando nuget e dobbiamo installarla. Apriamo ora NuGet Package Manager e cerchiamo nuget.commandline.
Step 2 - Seleziona Nuget.Commandline e fai clic su Install.
Step 3 - Fare clic su OKper installare Nuget.Commandline. Puoi anche installarlo manualmente scaricandolo dal seguente Urlhttps://dist.nuget.org/index.html e quindi impostare la variabile di ambiente.
Step 4 - Al termine dell'installazione, apriamo di nuovo il prompt dei comandi e andiamo al bin\Debug cartella in cui si trovano i pacchetti NuGet e specificare il comando seguente:
nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages
Step 5 - Nel comando precedente, aggiungiamo il pacchetto StringLibrary.1.0.1.nupkg al nostro feed privato e la posizione è D:\PrivateNugetPackages, -Source specifica l'origine del pacchetto.
Step 6 - Puoi vedere che il file StringLibraryè installato; ilStringLibrary può essere ulteriormente aggiunto al feed privato.
Step 7 - Andiamo in quella cartella.
Step 8 - All'interno del stringlibrary cartella, vedrai un'altra cartella con il nome della versione ed eccola 1.0.1.
Il pacchetto NuGet si trova qui.