Nuget je open-source balíčkovací systém pre platformu .NET zameraný na vývojárov. Môžete si ho stiahnuť ako rozšírenie do Visual Studia, funguje dokonca aj s Express verziami. Pokročilí používatelia ocenia ovládanie z Power Shellu.
Inštalácia knižníc
Po inštalácií Nugetu vám vo Visual Studiu pribudne v kontextovom menu referencií voľba Add Library Package Reference, pomocou ktorej sa dostanete do Nuget galérie. Nuget galéria je niečo ako katalóg rozšírení (prístupný aj cez webové rozhranie na http://nuget.org ). V tomto katalógu môžete knižnice vyhľadávať. Knižnicu nainštalujete kliknutím na tlačidlo Install.
Správa knižníc
Jednou z hlavných výhod Nugetu je, že ak cez Nuget nainštalujete nejakú knižnicu, nainštaluje sa vrátane všetkých závislostí. Nemusíte teda zdĺhavo skúmať závislosti knižnice, ktorú chcete použiť a postupne ich inštalovať, Nuget stiahne všetko za vás.
Nuget zvládne aj konfiguráciu stiahnutých knižníc, napríklad zápis do web.config. Ďalšou výhodou je možnosť jednoduchej aktualizácie používaných knižníc. Na aktualizáciu je najlepšie použiť Power Shell, ktorý je dostupný priamo z Visual Studia pomocou voľby Tools | Library Package Manager | Package Manager Console.
Zoznam knižníc, pre ktoré existujú aktualizácie, získate príkazom Get-Package -Updates.
Knižnicu aktualizujete príkazom Update-Package Id, kde ID je identifikátor knižnice. Knižnicu odinštalujete pomocou Uninstall-Package Id.
Použitie vlastných knižníc
Okrem oficiálnej Nuget galérie je možné používať akýkoľvek iný katalóg knižníc. Nemusí byť ani na webe, môže to byť lokálny alebo sieťový adresár. Nuget sa vďaka tomu stáva vhodným nástrojom na distribúciu knižníc v rámci firmy alebo vývojového týmu. Vytvorenie Nuget balíčka nie je nič zložité.
Vytvorenie vlastného balíčka
Na vytvorenie balíčka je potrebné stiahnuť si NuGet.exe. Najjednoduchším spôsobom, ako vytvoriť Nuget balíček, je jeho tvorba priamo z assembly (DLL súbor). Prvým krokom je vytvorenie nuspec súboru príkazom nuget spec MyAssembly.dll. Nuspec súbor je XML súbor popisujúci budúci Nuget balíček. Môžete v ňom vyplniť popis, poznámky, závislosti a pod. Samotná Nuget balíček vytvoríte príkazom nuget pack MyAssembly.nuspec. Výsledkom je súbor s príponou nupkg, ktorý je vlastne zip súborom s presne definovanou štruktúrou.
Pri tvorbe Nuget balíčka priamo z projektu je potrebné zavolať Nuget spec priamo na súboru projektu, napr. nuget pack MyProject.csproj, čím sa vytvorí už spomínaný nuspec súbor. Samotný Nuget balíček vytvoríte pomocou nuget pack MyProject.csproj. Cestu k nuspec súboru nie je potrebné zadávať, Nuget.exe si ho nájde sám. Problémom takto vytvoreného Nuget balíčka je, že berie skompilovanú assembly z predvolenej build konfigurácie, čo je vo väčšine pripadov Debug. Meniť nastavenie projektu nie je vždy vhodné, Nuget.exe naštastie obsahuje prepínač -Prop, pomocou ktorého môžete build konfiguráciu, ktorá sa má použiť, zmeniť. V našom príklade použijete príkaz nuget pack MyProject.csproj -Prop Configuration=Release. Vytvárnie zložitejších Nuget balíčkov s konfiguráciou je dobre opísané v dokumentácii.
Použitie lokálneho repozitára
Ako lokálny repozitár (galéria) je možné použiť akýkoľvek lokálny alebo sieťový adresár. V Nugete tento adresár pridáte pomocou Tools | Library Package Manager | Package Manager Settings | Package Sources. Do tohto adresára už následne len stačí skopírovať nupkg súbory a budú v Nugete k dispozícii.
Záver
Nuget je skvelý nástroj, ktorý sa určite oplatí vyskúšať. Dokáže vám ušetriť čas a námahu pri používaní rôznych knižníc a s trochou konfigurácie ho môžete používať aj ako silný firemný nástroj.