dotnet add packagedotnet add package

この記事の対象: ✔️ .NET Core 2.x SDK 以降のバージョンThis article applies to: ✔️ .NET Core 2.x SDK and later versions


dotnet add package - プロジェクト ファイルにパッケージ参照を追加します。dotnet add package - Adds a package reference to a project file.


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

dotnet add package -h|--help


dotnet add package コマンドは、プロジェクト ファイルにパッケージ参照を追加する便利なオプションを提供します。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. 互換性チェックに合格すると、<PackageReference> 要素がプロジェクト ファイルに追加されて、dotnet restore が実行されます。If the check passes, a <PackageReference> element is added to the project file and dotnet restore is run.

たとえば、Newtonsoft.JsonToDo.csproj に追加すると、次のような出力が生成されます。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
info :   OK 79ms
info :   GET
info :   OK 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'.

この ToDo.csproj ファイルには、参照されるパッケージの <PackageReference> 要素が含まれます。The ToDo.csproj file now contains a <PackageReference> element for the referenced package.

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

暗黙的な復元Implicit restore

dotnet restore を実行する必要がなくなりました。復元を必要とするすべてのコマンド (dotnet newdotnet builddotnet rundotnet testdotnet publishdotnet pack など) によって暗黙的に実行されるためです。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. 暗黙的な復元を無効にするには、--no-restore オプションを使用します。To disable implicit restore, use the --no-restore option.

Azure DevOps Services の継続的インテグレーション ビルドなどの、明示的な復元が意味のある一部のシナリオや、復元が行われるタイミングを明示的に制御する必要があるビルド システムでは、dotnet restore は引き続き有用なコマンドです。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 explicitly control when the restore occurs.

NuGet フィードの管理方法については、dotnet restore のドキュメントをご覧ください。For information about how to manage NuGet feeds, see the dotnet restore documentation.



    プロジェクト ファイルを指定します。Specifies the project file. 指定されていない場合、現在のディレクトリで検索されます。If not specified, the command searches the current directory for one.


    追加するパッケージ参照。The package reference to add.


  • -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). .NET Core 2.1 SDK バージョン 2.1.400 以降で使用可能です。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. 既定のパッケージ復元場所は、Windows の場合は %userprofile%\.nuget\packages、macOS と Linux の場合は ~/.nuget/packages です。The default package restore location is %userprofile%\.nuget\packages on Windows and ~/.nuget/packages on macOS and Linux. 詳細については、NuGet でのグローバル パッケージ、キャッシュ、および一時フォルダーの管理に関する記事を参照してください。For more information, see Managing the global packages, cache, and temp folders in NuGet.

  • -s|--source <SOURCE>

    復元操作時に使用する NuGet パッケージ ソースの URI。The URI of the NuGet package source to use during the restore operation.

  • -v|--version <VERSION>

    パッケージのバージョン。Version of the package. NuGet パッケージのバージョン管理に関するページを参照してください。See NuGet package versioning.


  • Newtonsoft.Json NuGet パッケージをプロジェクトに追加する: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
  • 特定の NuGet ソースを使用してパッケージを追加する:Add a package using a specific NuGet source:

    dotnet add package Microsoft.AspNetCore.StaticFiles -s

関連項目See also