NuGet ist ein System zur freien Verteilung von Software-Komponenten in Form von Paketen. Es erleichtert insbesondere die Einbindung von Bibliotheken bei der Softwareentwicklung unter dem klassischen .Net-Framework als auch unter .NET.[4] Die Pakete werden von ihren Entwicklern in zentrale Repositories (die bekanntesten sind nuget.org und myget.org) hochgeladen und mit Meta-Daten (z. B. die erforderliche .NET-Version) versehen. Die Pakete sind dann in der Galerie des Repository sichtbar.
Nun können andere Entwickler in ihrer Entwicklungsumgebung diese Pakete aus dem Repository herunterladen. Pakete können dabei von anderen Paketen abhängig sein, die rekursive Auflösung der Abhängigkeiten erfolgt automatisch. Die Pakete können sowohl Managed Code enthalten als auch native Bibliotheken, welche beispielsweise in C oder C++ entwickelt worden sind.[5]
NuGet ist in Visual Studio integriert und wird auch von MonoDevelop und SharpDevelop verwendet. Auch die Kommandozeilen-Werkzeuge MSBuild und dotnet können mit den Paketen umgehen. Daneben kann NuGet von der Powershell-Kommandozeile angesprochen und mit Powershell-Skripts automatisiert werden.
NuGet wurde ursprünglich als NuPack bezeichnet. Der Name wurde geändert, um eine Verwechslung mit der Software-Suite NUPACK (Software zur Analyse und Design von Nukleinsäure-Strukturen) zu vermeiden.[6][7]
Seit der Einführung 2010 hat sich NuGet zu einem Ökosystem für Softwarewerkzeuge und Softwaredienste entwickelt.[8]
↑Phil Haack: NuGet (formerly known as NuPack). In: CodePlex (im WebArchiv). Microsoft, 1. November 2010, archiviert vom Original am 7. November 2010; abgerufen am 10. November 2010 (englisch).
↑Jennifer Leaf: NuGet for C++. In: Developer Tools Blog. Microsoft, 26. April 2013, abgerufen am 29. April 2013.
↑Phil Haack: Changing the NuPack Project Name. OuterCurve Foundation (im Webarchiv), 21. Oktober 2010, archiviert vom Original am 25. Oktober 2010; abgerufen am 6. November 2010 (englisch).