NuGet (pronounced "New Get")
[And The Winner Is, NuGet](_blank)
haacked.com. Retrieved on 24 March 2020. is a
package manager
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals wi ...
designed to enable developers to share reusable code. It is a
software as a service
Software as a service (SaaS ) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. SaaS is also known as "on-demand software" and Web-based/Web-hosted software.
SaaS is con ...
solution whose client app is
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
. The
Outercurve Foundation
The Outercurve Foundation was an independent 501(c)(6) non-profit corporation founded by Microsoft. Its goal was to "enable the exchange of code and understanding among software companies and open source communities." They ran several software ...
initially created it under the name NuPack.
Since its introduction in 2010, NuGet has evolved into a larger ecosystem of tools and services.
Overview
NuGet is a package manager for developers. It enables developers to share and consume useful code. A NuGet package is a single
ZIP file
ZIP is an archive file format that supports lossless data compression. A ZIP file may contain one or more files or directories that may have been compressed. The ZIP file format permits a number of compression algorithms, though DEFLATE is th ...
that bears a
.nupack
or
.nupkg
filename extension and contains
.NET assemblies and their needed files.
NuGet was initially distributed as a
Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
extension. Starting with Visual Studio 2012, both
Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
and
Visual Studio for Mac
MonoDevelop (also known as Xamarin Studio) is an open-source software, open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono (software), Mono and .NET Framework. Mo ...
can natively utilise NuGet packages. NuGet's client,
nuget.exe
is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
,
command-line app that can both create and consume packages.
MSBuild
Microsoft Build Engine, or MSBuild, is a set of free and open-source build tools for managed code under the Common Language Infrastructure as well as native C and C++ code. It was first released in 2003 and was a part of .NET Framework. MSBuil ...
and
.NET Core
The domain name net is a generic top-level domain (gTLD) used in the Domain Name System of the Internet. The name is derived from the word ''network'', indicating it was originally intended for organizations involved in networking technologies ...
SDK (
dotnet.exe
) can use it when it is present.
NuGet is also integrated with
SharpDevelop
SharpDevelop (also styled as #develop) is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPyt ...
.
It supports multiple programming languages, including:
*
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
packages
*
.NET packages
* Native packages written in
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
with package creation aided by CoApp
See also
*
Binary repository manager
*
Chocolatey
Chocolatey is a machine-level, command-line package manager and installer for software on Microsoft Windows. It uses the NuGet packaging infrastructure and Windows PowerShell to simplify the process of downloading and installing software.
In A ...
*
ProGet
ProGet is a package management system, designed by the Inedo software company. It allows users to host and manage personal or enterprise-wide packages, applications, and components.
It was originally designed as a private NuGet (the package manage ...
*
Software repository
A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source control or repository managers. Package ...
*
Web Platform Installer
*
WinOps WinOps (a portmanteau of "Windows" and "DevOps") is a term used referring to the cultural movement of DevOps practices for a Microsoft-centric view. It emphasizes the use of the cloud, automation and integrating development and IT operations into o ...
References
External links
*
*
Chocolatey*
.NET software
2010 software
Free package management systems
Microsoft free software
Software using the Apache license
{{Prog-lang-stub