CLI tools

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.

nuget.exe CLI

The NuGet 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. Unlike dotnet, the nuget.exe CLI does not affect project files.

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.

Tip

Use nuget update -self to update an existing nuget.exe to the latest version.

Note

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 2.8.6 CLI tool. This is deprecated.

Visual Studio

Visual Studio Code: NuGet capabilities are available through marketplace extensions, or use the dotnet.exe or nuget.exe CLI tools.

Visual Studio on Windows: The NuGet Package Manager is included with Visual Studio 2012 and later. The Package Manager provides the Package Manager UI and the Package Manager Console, through which you can run most NuGet operations.

The Package Manager UI and Console are unique to Visual Studio on Windows. They are not available on Visual Studio for Mac at present.

Visual Studio does not automatically include the nuget.exe CLI, which must be installed separately as described earlier.

Package Manager Console commands work only within Visual Studio on Windows and not within other PowerShell environments.

The Visual Studio 2017 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 2017 installer and check the option under Individual Components > Code tools > NuGet package manager.

If you'd like to preview upcoming NuGet features, install the Visual Studio 2017 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.

Feature availability

Feature

dotnet CLI

nuget CLI (Windows)

nuget CLI (Mono)

Visual Studio (Windows)

Visual Studio for Mac

Search packages

✔

✔

✔

✔

Install/uninstall packages

✔(1)

✔(2)

✔

✔

✔

Update packages

✔

✔

✔

✔

Restore packages

✔

✔

✔(3)

✔

✔

Manage package feeds (sources)

✔

✔

✔

✔

Manage packages on a feed

✔(1)

✔

✔

Set API keys for feeds

✔

✔

Create packages(4)

✔

✔

✔(5)

✔

Publish packages

✔(1)

✔

✔

✔

Replicate packages

✔

✔

Manage the NuGet cache

✔

✔

✔

Manage NuGet configuration

✔

✔

(1) Packages on nuget.org only

(2) Does not affect project files; use dotnet.exe instead.

(3) Works only with packages.config file and not with solution (.sln) files.

(4) Various advanced package features are available through the CLI only as they aren't represented in the Visual Studio UI tools.

(5) Works with .nuspec files but not with project files.

Related topics

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.

Note

The feedback system for this content will be changing soon. Old comments will not be carried over. If content within a comment thread is important to you, please save a copy. For more information on the upcoming change, we invite you to read our blog post.