Provided by: dotnet-host_6.0.136-0ubuntu1~22.04.1_amd64 bug

dotnet add package

       This article applies to: ✔️ .NET Core 2.x SDK and later versions

NAME

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

SYNOPSIS

              dotnet add [<PROJECT>] package <PACKAGE_NAME>
                  [-f|--framework <FRAMEWORK>] [--interactive]
                  [-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
                  [--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]

              dotnet add package -h|--help

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\me\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" />

   Implicit restore
       You  don’t  have to run dotnet restore because it’s run implicitly by all commands that require a restore
       to occur, such as dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish, and dotnet pack.  To
       disable implicit restore, use the --no-restore option.

       The dotnet restore command is still useful in certain scenarios where explicitly restoring  makes  sense,
       such as continuous integration builds in Azure DevOps Services or in build systems that need to explicit‐
       ly control when the restore occurs.

       For information about how to manage NuGet feeds, see the dotnet restore documentation.

   ArgumentsPROJECT

         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 description of how to use the command.

       • --interactive

         Allows the command to stop and wait for user input or action.  For example, to complete authentication.

       • -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 %userpro‐
         file%\.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.

       • --prerelease

         Allows prerelease packages to be installed.  Available since .NET Core 5 SDK

       • -s|--source <SOURCE>

         The URI of 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

                                                                                                             (1)