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
Copy file name to clipboardExpand all lines: docs/consume-packages/includes/restore-nuget-exe-cli.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
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](/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) or [packages.config](../../reference/packages-config) for package references.
2
2
3
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
@@ -17,4 +17,4 @@ 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.
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.
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` 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 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
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
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 command-line program 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
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 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
+
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 directory 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 of the current directory. The command installs the packages in the *packages*directory.
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:
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-terms> -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. For `<configuration-file-path>`, use the path to your *packages.config* file.
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
104
nuget update <configuration-file-path>
@@ -117,9 +118,9 @@ Deleting packages from disk doesn't update the project, *packages.config*, or *N
117
118
118
119
For more information, see [Restore packages](package-restore.md).
0 commit comments