Overview
NuGet is a free and open-source package manager for .NET and .NET Framework projects, allowing easy packaging, distribution, and management of software dependencies.
History and Development
- NuGet was originally created by the Outercurve Foundation in 2010 under the name NuPack.
- It is currently developed by Microsoft and the .NET Foundation.
- NuGet has evolved into an ecosystem of tools, services, and hosted package servers.
Features and Functionality
- NuGet packages are ZIP files with a
.nupack or .nupkg extension, containing .NET assemblies and a manifest file.
- The NuGet client app can create, publish, and consume packages in private or public repositories.
- The client is available as a command-line tool (
nuget.exe), compatible with MSBuild and the .NET Core SDK (dotnet.exe).
- NuGet was first distributed as a Visual Studio extension and is now natively supported in Visual Studio and Visual Studio for Mac.
- Integration is also available with JetBrains Rider.
Supported Languages and Platforms
- Primarily used for .NET and .NET Framework packages.
- Supports native C++ package creation, aided by CoApp.
Release and Licensing
- The latest stable release is version 6.11.
- NuGet is written in C# and runs on the .NET Framework.
- It is licensed under the Apache License 2.0.
Key Terms & Definitions
- Package Manager — a tool that automates installing, upgrading, configuring, and removing software packages.
- NuGet Package — a ZIP file containing compiled code and a manifest, with
.nupack or .nupkg extension.
- Manifest File — a file within a package that describes its contents and dependencies.
- Repository — a location (public or private) where packages are stored and published.
- MSBuild — Microsoft's build automation tool for .NET and Visual Studio projects.
Action Items / Next Steps
- Explore the official website: www.nuget.org for further documentation and package browsing.
- Try using NuGet to manage dependencies in a .NET or .NET Framework project.