dotnet add package command(1)

dotnet add package

This article applies to: ✓ .NET Core 1.x SDK and later versions

NAME

dotnet add package - Adds a package reference to a project file.

SYNOPSIS

dotnet add [<PROJECT>] package <PACKAGE_NAME> [-h|--help] [-f|--framework] [--interactive] [-n|--no-restore] [--package-directory] [-s|--source] [-v|--version]

DESCRIPTION

The dotnet add package command provides a convenient option to add a package reference to a project file. After running the command, there’s a compatibility check to ensure the package is compatible with the frameworks in the project. If the check passes, a <PackageReference> element is added to the project file and dotnet restore is run.

For example, adding Newtonsoft.Json to ToDo.csproj produces output similar to the following example:

      Writing C:\Users\mairaw\AppData\Local\Temp\tmp95A8.tmp
    info : Adding PackageReference for package 'Newtonsoft.Json' into project 'C:\projects\ToDo\ToDo.csproj'.
    log  : Restoring packages for C:\Temp\projects\consoleproj\consoleproj.csproj...
    info :   GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json
    info :   OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json 79ms
    info :   GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.1/newtonsoft.json.12.0.1.nupkg
    info :   OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.1/newtonsoft.json.12.0.1.nupkg 232ms
    log  : Installing Newtonsoft.Json 12.0.1.
    info : Package 'Newtonsoft.Json' is compatible with all the specified frameworks in project 'C:\projects\ToDo\ToDo.csproj'.
    info : PackageReference for package 'Newtonsoft.Json' version '12.0.1' added to file 'C:\projects\ToDo\ToDo.csproj'.

The ToDo.csproj file now contains a <PackageReference> element for the referenced package.

    <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />

  Arguments

•   PROJECT

    Specifies the project file. If not specified, the command searches the current directory for one.

•   PACKAGE_NAME

    The package reference to add.

OPTIONS

•   -f|--framework <FRAMEWORK>

    Adds a package reference only when targeting a specific framework.

•   -h|--help

    Prints out a short help for the command.

•   --interactive

    Allows the command to stop and wait for user input or action (for example, to complete authentication). Available since .NET Core 2.1 SDK, version 2.1.400 or later.

•   -n|--no-restore

    Adds a package reference without performing a restore preview and compatibility check.

•   --package-directory <PACKAGE_DIRECTORY>

    The directory where to restore the packages. The default package restore location is %userprofile%\.nuget\packages on Windows and ~/.nuget/packages on macOS and Linux. For more information, see Managing the global packages, cache, and temp folders in NuGet.

•   -s|--source <SOURCE>

    The NuGet package source to use during the restore operation.

•   -v|--version <VERSION>

    Version of the package. See NuGet package versioning.

EXAMPLES

•   Add Newtonsoft.Json NuGet package to a project:

        dotnet add package Newtonsoft.Json

•   Add a specific version of a package to a project:

        dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0

•   Add a package using a specific NuGet source:

        dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

  See also

•   Managing the global packages, cache, and temp folders in NuGet

•   NuGet package versioning