NuGet è un
package manager open source e gratuito per la piattaforma .NET, il cui scopo è quello di supportare gli sviluppatori nel momento in cui devono incorporare, all'interno della propria applicazione, delle librerie di terze parti. Realizzato come estensione dell'ambiente di sviluppo Visual Studio, esso consente di verificare la disponibilità di aggiornamenti delle eventuali librerie esterne incluse nella propria applicazione, scaricando se necessario i relativi
wrap, ossia i package contenenti tutto il necessario per aggiornare una data libreria (nel caso specifico, file con estensione
.nupkg).
I package disponibili sono raccolti in un repository noto come
NuGet Gallery, a cui chiunque può contribuire semplicemente inviando il proprio package contenente le nuove funzionalità sviluppate. Per la
creazione di un package NuGet è sufficiente seguire pochi semplici passi, come illustrato nel dettaglio in un recente articolo pubblicato su
CodeGuru.
Come prima cosa, occorre preparare tutti gli
assembly, che andranno a costituire il contenuto del package (normalmente si utilizzano
assembly compilati sotto forma di DLL). Una
buona regola da seguire in questo caso è quella di includere anche dei file di help e/o di documentazione (ad esempio in formato HTML).
Il passo successivo consiste nella creazione del cosiddetto file
NuSpec, ossia un file in formato XML (e con estensione
.nuspec) contenente degli opportuni
metadati, che descrivono il package che si vuole costruire, compresi eventuali collegamenti a file esterni. La definizione di tale file può essere fatta manualmente da zero oppure si può sfruttare la creazione automatica di un template (da personalizzare poi secondo le proprie esigenze) mediante il comando:
[code=text]NuGet.exe spec[/code]
Una volta che il file
NuSpec è correttamente configurato secondo le proprie necessità, il passo successivo consiste nella creazione del package vero e proprio, un unico file con estensione
.nupkg, che può essere realizzato mediante l'esecuzione del comando seguente, eventualmente specificando un determinato file
NuSpec di configurazione.
[code=text]NuGet.exe pack[/code]
A questo punto il package è pronto per essere utilizzato localmente (o distribuito ai colleghi), oppure pubblicato nella
NuGet Gallery, da cui poi chiunque potrà scaricarlo e installarlo operando semplicemente tramite la finestra
Managing NuGet Packages accessibile dal menu
Solution Explorer di Visual Studio.