.NET アプリケーションでパッケージの依存関係を管理する
この記事では、プロジェクト ファイルを編集するか、CLI を使用することにより、パッケージの依存関係を追加および削除する方法について説明します。
<PackageReference> 要素
<PackageReference>
プロジェクト ファイル要素の構造は次のとおりです。
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />
Include
属性では、プロジェクトに追加するパッケージの ID を指定します。 Version
属性では、取得するバージョンを指定します。 バージョンは、NuGet のバージョン ルールに従って指定します。
次の例に示すように、条件を使用して、特定のターゲットでのみ使用できる依存関係を追加します。
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
前の例の依存関係は、指定されたターゲットでビルドが行われている場合にのみ有効です。 条件の $(TargetFramework)
は、プロジェクトで設定される MSBuild プロパティです。 最も一般的な .NET アプリケーションの場合、これを行う必要はありません。
依存関係の追加と削除
プロジェクト ファイルを変更することで、あるいは .NET CLI コマンドを利用することで依存関係を追加および削除できます。
プロジェクト ファイルを編集する
依存関係を追加するには、<ItemGroup>
要素内に <PackageReference>
項目を追加します。 既存の <ItemGroup>
に追加するか、新しく作成することができます。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
...
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
</ItemGroup>
</Project>
依存関係を削除するには、プロジェクト ファイルから <PackageReference>
項目を削除します。
CLI の使用
依存関係を追加するには、次の例に示すように、dotnet add package コマンドを実行します。
dotnet add package Microsoft.EntityFrameworkCore
依存関係を削除するには、次の例に示すように、dotnet remove package コマンドを実行します。
dotnet remove package Microsoft.EntityFrameworkCore
ヒント
参照されるパッケージの .targets または .props ファイルに、復元操作への入力を含めないでください。 これらの入力には、
PackageReference
項目、ExcludeAssets
属性、使用する NuGet フィード、その他の NuGet構成を含めることができます。 パッケージからの .targets および .props ファイルは、NuGet 復元が完了するまで使用されません。 復元に必要なものはすべて、パッケージ依存関係ではなく、プロジェクト自体のプロジェクト ファイルまたは .targets ファイルに含める必要があります。コンソール アプリケーションまたはクラス ライブラリで ASP.NET API を使用する場合、プロジェクト ファイルに FrameworkReference 項目を追加します。
<FrameworkReference Include="Microsoft.AspNetCore.App" />
詳細については、「ASP.NET Core 共有フレームワーク」をご覧ください。
関連項目
.NET