You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Refresh article
* Refresh article
* Fix link warnings; adjust language and punctuation
* Address Copilot comments: add nuget list back in
* Address review comment: remove discussion of nuget list
The NuGet CLI [restore](../../reference/cli-reference/cli-ref-restore.md) command downloads and installs any missing packages. The command works on projects that use either [PackageReference](/nuget/consume-packages/package-references-in-project-files) or [packages.config](/nuget/reference/packages-config) for package references.
1
+
The NuGet CLI [`restore`](../../reference/cli-reference/cli-ref-restore.md) command downloads and installs any missing packages. The command works on projects that use either [`PackageReference`](../package-references-in-project-files.md) or [packages.config](../../reference/packages-config.md) for package references.
2
2
3
-
Like `install`, the `restore` command only adds packages to disk, but doesn't modify the project file or *packages.config*. To add project dependencies, use the Visual Studio Package Manager UI or Console.
3
+
Like `install`, the `restore` command only adds packages to disk. It doesn't modify the project file or *packages.config* file. To add project dependencies, use the Visual Studio Package Manager UI or console.
4
4
5
5
To restore packages, run the following command:
6
6
7
7
```cli
8
-
nuget restore <projectPath>
8
+
nuget restore <project-path>
9
9
```
10
10
11
11
The `restore` command uses a solution file or a *package.config* file in the specified project path.
12
12
13
-
For example, to restore all packages for *MySolution.sln* in the current directory, run:
13
+
For example, to restore all packages for *MySolution.slnx* in the current directory, run the following command:
14
14
15
15
```cli
16
-
nuget restore MySolution.sln
16
+
nuget restore MySolution.slnx
17
17
```
18
18
19
19
> [!NOTE]
20
-
> For non-SDK-style projects that use `PackageReference`, use [msbuild -t:restore](../package-restore.md#restore-using-msbuild) to restore packages instead.
21
-
20
+
> For non-SDK-style projects that use `PackageReference`, the recommended approach is to use [`msbuild -t:restore`](../package-restore.md#restore-using-msbuild) to restore packages instead of the `nuget restore` command. The `msbuild -t:restore` command uses the same project evaluation and resolution logic as the build, which helps to ensure consistent and reliable dependency resolution.
description: Instructions for using the NuGet CLI, nuget.exe, to manage NuGet packages.
2
+
title: Manage NuGet Packages with the NuGet CLI
3
+
description: Find out how to use the NuGet CLI, nuget.exe, to manage NuGet packages in non-SDK-style projects that use a packages.config file to list package references.
4
4
author: mikejo5000
5
5
ms.author: mikejo
6
-
ms.date: 03/03/2025
6
+
ms.date: 04/08/2026
7
7
ms.topic: how-to
8
+
# customer intent: As a developer, I want to find out how to use the NuGet CLI so that I can manage NuGet packages in my projects and solutions.
8
9
---
9
10
10
11
# Manage NuGet packages with the NuGet CLI
11
12
12
-
You can use the `nuget.exe`CLI tool to manage NuGet packages in Visual Studio projects and solutions. This article describes the most common NuGet CLI commands for managing NuGet packages. All these commands work on Windows, and most work on Mac and on Linux with Mono.
13
+
You can use the `nuget.exe`command-line interface (CLI) to manage NuGet packages in Visual Studio projects and solutions. This article describes the most common NuGet CLI commands for managing NuGet packages. All these commands work on Windows, and most work on macOS and on Linux with Mono.
13
14
14
-
The NuGet CLI runs on .NET Framework and non-SDK-style projects, for example non-SDKstyle projects that target .NET Standard libraries. The NuGet CLI commands can use a project [packages.config](../reference/packages-config.md) file that lists package references. For non-SDK-style projects that use `PackageReference` instead of *packages.config* for package references, use the [dotnet CLI](install-use-packages-dotnet-cli.md) instead.
15
+
The NuGet CLI runs on .NET Framework and non-SDK-style projects, for example non-SDK-style projects that target .NET Standard libraries. The NuGet CLI commands can use a project [packages.config](../reference/packages-config.md) file that lists package references. For non-SDK-style projects that use `PackageReference` instead of *packages.config* for package references, use the [dotnet CLI](install-use-packages-dotnet-cli.md) instead.
15
16
16
17
> [!NOTE]
17
-
> For most non-SDK-style projects that use *packages.config*, it's best to [migrate packages.config to PackageReference](migrate-packages-config-to-package-reference.md), and then use the dotnet CLI instead of the NuGet CLI to manage packages. However, you can't migrate C++ or ASP.NET projects.
18
+
> For most non-SDK-style projects that use *packages.config*, it's best to [migrate packages.config to `PackageReference`](migrate-packages-config-to-package-reference.md), and then use the dotnet CLI instead of the NuGet CLI to manage packages. However, you can't migrate C++ or ASP.NET projects.
18
19
19
-
For most commands, the NuGet CLI tool uses the current directory, unless you specify a different location in the command. To run NuGet CLI commands, open a commandline and switch to the directory that contains your project file.
20
+
For most commands, the NuGet CLI tool uses the current folder, unless you specify a different location in the command. To run NuGet CLI commands, open a command-line program and switch to the folder that contains your project file.
20
21
21
-
For a complete list of commands and their arguments, see the [NuGet CLI reference](../reference/nuget-exe-cli-reference.md).
22
+
For a complete list of commands and their arguments, see [NuGet CLI reference](../reference/nuget-exe-cli-reference.md).
22
23
23
24
## Prerequisites
24
25
25
-
Download the NuGet CLI from [nuget.org](https://dist.nuget.org/win-x86-commandline/latest/nuget.exe). Save the *nuget.exe* file to a suitable directory, and make sure the directory is in your PATH environment variable.
26
+
Download the NuGet CLI from [nuget.org](https://dist.nuget.org/win-x86-commandline/latest/nuget.exe). Save the *nuget.exe* file to a suitable folder, and make sure the folder is in your `PATH` environment variable.
26
27
27
28
> [!NOTE]
28
-
> You can also use the [winget](/windows/package-manager/winget) tool for Windows or [Homebrew](https://brew.sh/) for macOS.
29
+
> You can also use the [`winget`](/windows/package-manager/winget) tool for Windows or [Homebrew](https://brew.sh/) for macOS.
29
30
30
-
To find out your NuGet CLI version, open a commandline and run `nuget help`, or to avoid having to scroll up, use `nuget help | more`. The first line in the help output shows the version.
31
+
To check your NuGet CLI version, open a command-line program and run `nuget help`. Or to avoid having to scroll up, use `nuget help | more`. The first line in the help output shows the version.
31
32
32
33
## Install a package
33
34
34
-
The NuGet CLI [install](../reference/cli-reference/cli-ref-install.md) command downloads and installs specified NuGet packages.
35
+
The NuGet CLI [`install`](../reference/cli-reference/cli-ref-install.md) command downloads and installs specified NuGet packages.
35
36
36
37
> [!IMPORTANT]
37
-
> The `install` command doesn't modify the project file or *packages.config* file. The `install` and `restore` commands only add packages to disk, but don't add dependencies to projects. To add project dependencies, add packages through the [Visual Studio Package Manager UI](install-use-packages-visual-studio.md) or [Package Manager Console](install-use-packages-powershell.md), then run `install` or `restore`.
38
+
> The `install` command doesn't modify the project file or *packages.config* file. The `install` and `restore` commands only add packages to disk, but don't add dependencies to projects. To add project dependencies, add packages by using the [Visual Studio Package Manager UI](install-use-packages-visual-studio.md) or [Package Manager Console](install-use-packages-powershell.md). If you then run `install` or `restore`, perhaps in another environment, only the declared dependencies are installed or restored.
38
39
39
-
Use the `-OutputDirectory` option to install packages to a specific directory. If you don't specify an output directory, `install` uses the current directory.
40
+
Use the `-OutputDirectory` option to install packages in a specific folder. If you don't specify an output folder, `install` uses the current folder.
Instead of specifying a package to install, you can specify an existing *packages.config* file in the current or another directory. The `install` command installs all the packages listed in the *packages.config* file.
52
+
Instead of specifying a package to install, you can specify an existing *packages.config* file in the current folder or another folder. The `install` command installs all the packages listed in the *packages.config* file.
52
53
53
54
```cli
54
55
nuget install packages.config
55
56
```
56
57
57
-
For example, the following command installs all the packages listed in *packages.config* in the *config*subdirectory to the *packages*subdirectory:
58
+
For example, the following command installs all the packages listed in *packages.config* in the *config*subfolder of the current folder. The command installs the packages in the *packages*folder.
The `install` command installs the latest version of a package unless you specify a different version. To install a specific version of a package, use the `-Version` option:
Use the [list](../reference/cli-reference/cli-ref-list.md) command to display a list of packages installed in the packages folders. Use the `-Source` option to restrict the list.
81
+
Use the [`search`](../reference/cli-reference/cli-ref-search.md) command to display basic information about packages at a specified source.
81
82
82
83
```cli
83
-
nuget list -Source <source>
84
+
nuget search -Source <source>
84
85
```
85
86
86
-
For example, to list packages in the *packages*subdirectory of *MyProject*, use:
87
+
For example, to list packages in the *packages*subfolder of *MyProject*, use the following command:
87
88
88
89
```cli
89
-
nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages
You can also use a search term to search for package names, tags, or descriptions:
93
+
You can also specify search terms to limit the results by package names, tags, or descriptions:
93
94
94
95
```cli
95
-
nuget list <"search term"> -Source <source>
96
+
nuget search <search-terms> -Source <source>
96
97
```
97
98
98
99
## Update all packages
99
100
100
-
Use the [update](../reference/cli-reference/cli-ref-update.md) command to update all packages in a project *packages.config* file to their latest available versions. It's best to run `restore` before you run `update`.
101
+
Use the [`update`](../reference/cli-reference/cli-ref-update.md) command to update all packages in a project *packages.config* file to their latest available versions. For `<configuration-file-path>`, use the path to your *packages.config* file.
101
102
102
103
```cli
103
-
nuget update
104
+
nuget update <configuration-file-path>
104
105
```
105
106
107
+
It's best to run `restore` before you run `update`. Then the `update` command has information about the package versions that are in use. That information helps it resolve dependencies correctly.
108
+
106
109
## Remove a package
107
110
108
-
To remove a package, delete that package from the project folder. To reinstall packages, use the `restore` or `install` commands.
111
+
To remove a package, you can delete that package from the project folder. To reinstall packages, use the `restore` or `install` commands.
109
112
110
-
Deleting packages from disk doesn't update the project, *packages.config*, or *NuGet.Config* files. The best way to remove packages is through the Visual Studio [Package Manager UI](install-use-packages-visual-studio.md) or [Package Manager Console](install-use-packages-powershell.md).
113
+
Deleting packages from disk doesn't update the project, *packages.config*, or *NuGet.Config* files. The best way to remove packages is by using the Visual Studio [Package Manager UI](install-use-packages-visual-studio.md) or [Package Manager Console](install-use-packages-powershell.md).
0 commit comments