Install and manage NuGet packages with the dotnet CLI
You can use the dotnet CLI tool on Windows, macOS, or Linux to easily install, uninstall, and update NuGet packages in .NET projects and solutions. This article describes the most common dotnet CLI commands for managing NuGet packages.
The dotnet CLI runs on .NET, .NET Core, .NET Standard SDK-style projects, and any other SDK-style projects, for example those that target .NET Framework. For more information, see .NET project SDKs.
For most commands, the CLI tool looks for a project file in the current directory, unless a different project file is specified as an optional switch in the command. For a complete list of commands and their arguments, see dotnet CLI commands.
- The .NET Core SDK, which provides the
dotnetcommand-line tool. Starting in Visual Studio 2017, the dotnet CLI automatically installs with all .NET and .NET Core related workloads.
Install or update a package
The dotnet add package command adds a package reference to the project file, and then runs
dotnet restore to install the package.
Open a command line and switch to the directory that contains your project file.
Use the following command to install a NuGet package:
dotnet add package <PACKAGE_NAME>
For example, to install the
Newtonsoft.Jsonpackage, use the following command
dotnet add package Newtonsoft.Json
After the command completes, you can open the project file to see the package reference.
For example, open the .csproj file to see the added
<ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> </ItemGroup>
Install a specific version of a package
dotnet add package command installs the latest version of the package unless you specify a different version.
To install a specific version of a NuGet package, use the optional
dotnet add package <PACKAGE_NAME> -v <VERSION>
For example, to add version 12.0.1 of the
Newtonsoft.Json package, use this command:
dotnet add package Newtonsoft.Json --version 12.0.1
List package references
List the package references and versions for your project by using the dotnet list package command:
dotnet list package
Remove a package
Use the dotnet remove package command to remove a package reference from the project file.
dotnet remove package <PACKAGE_NAME>
For example, to remove the
Newtonsoft.Json package, use the following command:
dotnet remove package Newtonsoft.Json
.NET Core 2.0 and later
dotnet build and
dotnet run commands restore packages automatically. As of NuGet 4.0,
dotnet restore runs the same code as
To restore a package with
- Open a command line and switch to the directory that contains your project file.