dotnet add packagedotnet add package

このトピックの対象: ✓ .NET Core SDK 1.x .NET Core SDK 2.0This topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.0


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


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


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.


.NET Core 2.0 以降、dotnet restore を実行する必要がなくなりました。dotnet newdotnet builddotnet run のような、復元を必要とするあらゆるコマンドによって暗黙的に実行されるためです。Starting with .NET Core 2.0, 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 and dotnet run. Azure DevOps Services の継続的インテグレーション ビルドなど、明示的な復元が合理的となる一部のシナリオや、復元の時刻を明示的に制御する必要があるビルド システムでは、引き続き有効なコマンドとなります。It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Azure DevOps Services or in build systems that need to explicitly control the time at which the restore occurs.

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



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


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



コマンドの短いヘルプを印刷します。Prints out a short help for the command.

-f|--framework <FRAMEWORK>

特定のフレームワークを対象にしている場合にのみ、パッケージ参照を追加します。Adds a package reference only when targeting a specific framework.


復元のプレビューと互換性チェックを実行せずにパッケージ参照を追加します。Adds a package reference without performing a restore preview and compatibility check.

--package-directory <PACKAGE_DIRECTORY>

指定したディレクトリにパッケージを復元します。Restores the package to the specified directory.

-s|--source <SOURCE>

復元操作の間に特定の NuGet パッケージのソースを使います。Uses a specific NuGet package source during the restore operation.

-v|--version <VERSION>

パッケージのバージョン。Version of the package.


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