This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Download Microsoft Edge
More info about Internet Explorer and Microsoft Edge
Looking to install a package? See
Ways to install NuGet packages
.
To work with NuGet, as a package consumer or creator, you can use command-line interface (CLI) tools as well as NuGet features in Visual Studio. This article briefly outlines the capabilities of the different tools, how to install them, and their comparative
feature availability
.
To get started using NuGet to consume packages, see:
Install and use a package (dotnet CLI)
Install and use a package (Visual Studio)
To get started creating NuGet packages, see:
Create and publish a NET Standard package (dotnet CLI)
Create and publish a NET Standard package (Visual Studio)
dotnet.exe
CLI tool for .NET Core and .NET Standard libraries, and for any
SDK-style project
such as one that targets .NET Framework. Included with the .NET Core SDK and provides core NuGet features on all platforms. (Starting in Visual Studio 2017, the dotnet CLI is automatically installed with any .NET Core related workloads.)
.NET Core SDK
nuget.exe
CLI tool for .NET Framework libraries and for any
non-SDK-style project
such as one that targets .NET Standard libraries. Provides all NuGet capabilities on Windows, provides most features on Mac and Linux when running under Mono.
nuget.exe
Visual Studio
On Windows, the
NuGet Package Manager
is included with Visual Studio 2012 and later. Visual Studio provides the
Package Manager UI
and the
Package Manager Console
, through which you can run most NuGet operations.
Visual Studio
Visual Studio for Mac
On Mac, certain NuGet capabilities are built-in directly. Package Manager Console is not presently available. For other capabilities, use the
dotnet.exe
or
nuget.exe
CLI tools.
Visual Studio for Mac
Visual Studio Code
On Windows, Mac, or Linux, NuGet capabilities are available through marketplace extensions, or use the
dotnet.exe
or
nuget.exe
CLI tools.
Visual Studio Code
The
MSBuild CLI
also provides the ability to restore and create packages, which is primarily useful on build servers. MSBuild is not a general-purpose tool for working with NuGet.
Package Manager Console commands work only within Visual Studio on Windows and do not work within other PowerShell environments.
Visual Studio
Install on Visual Studio 2017 and newer
Starting in Visual Studio 2017, the installer includes the NuGet Package Manager with any workload that employs .NET. To install separately, or to verify that the Package Manager is installed, run the Visual Studio installer and check the option under
Individual Components > Code tools > NuGet package manager
.
Install on Visual Studio 2015 and older
NuGet Extensions for Visual Studio 2013 and 2015 can be downloaded from
https://dist.nuget.org/index.html
.
For Visual Studio 2010 and earlier, install the "NuGet Package Manager for Visual Studio" extension. Note, if you can't see the extension in the first page of search results, try changing the Sort By dropdown to "Most Downloads", or an alphabetical sort.
You can use either the
dotnet
CLI or the
nuget.exe
CLI to support NuGet features in the IDE. The
dotnet
CLI is installed with some Visual Studio workloads, such as .NET Core. The
nuget.exe
CLI must be installed separately as described earlier.
The two NuGet CLI tools are
dotnet.exe
and
nuget.exe
. See
feature availability
for a comparison.
To target .NET Core or .NET Standard, use the dotnet CLI. The
dotnet
CLI is required for the SDK-style project format, which uses the
SDK attribute
.
To target .NET Framework (non-SDK-style project only), use the
nuget.exe
CLI. If the project is migrated from
packages.config
to PackageReference, use the dotnet CLI.
dotnet.exe CLI
The .NET Core 2.0 CLI,
dotnet.exe
, works on all platforms (Windows, Mac, and Linux) and provides core NuGet features such as installing, restoring, and publishing packages.
dotnet
provides direct integration with .NET Core project files (such as
.csproj
), which is helpful in most scenarios.
dotnet
is also built directly for each platform and does not require you to install Mono.
Installation:
On developer computers, install the
.NET Core SDK
. Starting in Visual Studio 2017, the dotnet CLI is automatically installed with any .NET Core related workloads.
For build servers, follow the instructions on
Using .NET Core SDK and tools in Continuous Integration
.
To learn how to use basic commands with the dotnet CLI, see
Install and use packages using the dotnet CLI
.
nuget.exe CLI
The
nuget.exe
CLI,
nuget.exe
, is the command-line utility for Windows that provides all NuGet capabilities; it can also be run on Mac OSX and Linux using
Mono
with some limitations.
To learn how to use basic commands with the
nuget.exe
CLI, see
Install and use packages using the nuget.exe CLI
.
Installation:
Windows
NuGet.exe 5.0 and later require .NET Framework 4.7.2 or later to execute.
Visit
nuget.org/downloads
and select NuGet 3.3 or higher (2.8.6 is not compatible with Mono). The latest version is always recommended, and 4.1.0+ is required to publish packages to nuget.org.
Each download is the
nuget.exe
file directly. Instruct your browser to save the file to a folder of your choice. The file is
not
an installer; you won't see anything if you run it directly from the browser.
Add the folder where you placed
nuget.exe
to your PATH environment variable to use the CLI tool from anywhere.
macOS/Linux
Behaviors may vary slightly by OS distribution.
Install
Mono 4.4.2 or later
.
Execute the following command at a shell prompt:
# Download the latest stable `nuget.exe` to `/usr/local/bin`
sudo curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
Create an alias by adding the following script to the appropriate file for your OS (typically ~/.bash_aliases or ~/.bash_profile):
# Create as alias for nuget
alias nuget="mono /usr/local/bin/nuget.exe"
Reload the shell. Test the installation by entering nuget with no parameters. NuGet CLI help should display.
Use nuget update -self on Windows to update an existing nuget.exe to the latest version.
The latest recommended NuGet CLI is always available at https://dist.nuget.org/win-x86-commandline/latest/nuget.exe. For compatibility purposes with older continuous integration systems, a previous URL, https://nuget.org/nuget.exe currently provides the deprecated 2.8.6 CLI tool.
Feature availability
Feature
dotnet CLI
nuget CLI (Windows)
nuget CLI (Mono)
Visual Studio (Windows)
Visual Studio for Mac
(1) Does not affect project files; use dotnet.exe instead.
(2) Works only with packages.config file and not with solution (.sln) files.
(3) Various advanced package features are available through the CLI only as they aren't represented in the Visual Studio UI tools.
(4) Works with .nuspec files but not with project files.
Upcoming Features
If you'd like to preview upcoming NuGet features, install a Visual Studio Preview, which works side-by-side with stable releases of Visual Studio. To report problems or share ideas for previews, open an issue on the NuGet GitHub repository.
Install and manage packages using Visual Studio
Install and manage packages using PowerShell
Install and manage packages using dotnet CLI
Install and manage packages using nuget.exe CLI
Package Manager Console PowerShell reference
Creating a package
Publishing a Package
Developers working on Windows can also explore the NuGet Package Explorer, an open-source, stand-alone tool to visually explore, create, and edit NuGet packages. It's very helpful, for example, to make experimental changes to a package structure without rebuilding the package.