dotnet list package

この記事の対象: ✔️ .NET Core 3.1 SDK 以降のバージョン

名前

dotnet list package - プロジェクトまたはソリューションのパッケージ参照を一覧表示します。

構文

dotnet list [<PROJECT>|<SOLUTION>] package [--config <SOURCE>]
    [--deprecated]
    [-f|--framework <FRAMEWORK>] [--highest-minor] [--highest-patch]
    [--include-prerelease] [--include-transitive] [--interactive]
    [--outdated] [--source <SOURCE>] [-v|--verbosity <LEVEL>]
    [--vulnerable]
    [--format <console|json>]
    [--output-version <VERSION>]

dotnet list package -h|--help

説明

dotnet list package コマンドでは、特定のプロジェクトまたはソリューションのすべての NuGet パッケージ参照を列挙する便利なオプションが提供されています。 このコマンドで処理するために必要なアセットを用意するには、最初にプロジェクトをビルドする必要があります。 次の例では、SentimentAnalysis プロジェクトに対する dotnet list package コマンドの出力を示します。

Project 'SentimentAnalysis' has the following package references
   [netcoreapp2.1]:
   Top-level Package               Requested   Resolved
   > Microsoft.ML                  1.4.0       1.4.0
   > Microsoft.NETCore.App   (A)   [2.1.0, )   2.1.0

(A) : Auto-referenced package.

[Requested] 列は、プロジェクト ファイルで指定されているパッケージのバージョンを示し、範囲で示されることもあります。 [Resolved] 列には、プロジェクトで現在使用されているバージョンが一覧表示され、常に単一の値です。 名前の隣に (A) と表示されているパッケージは、プロジェクトの設定から推論される暗黙的なパッケージ参照を表します (Sdk 型、<TargetFramework> プロパティ、<TargetFrameworks> プロパティなど)。

プロジェクトで使用されているパッケージのさらに新しいバージョンを利用可能かどうかを調べるには、--outdated オプションを使用します。 既定では、解決済みのバージョンがプレリリース バージョンでもある場合を除き、--outdated では最新の安定したパッケージが一覧表示されます。 新しいバージョンを一覧表示するときにプレリリース版を含めるには、--include-prerelease オプションも指定します。 パッケージを最新バージョンに更新するには、dotnet add package を使用します。

次の例では、前の例と同じプロジェクトに対する dotnet list package --outdated --include-prerelease コマンドの出力を示します。

The following sources were used:
   https://api.nuget.org/v3/index.json
   C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

Project `SentimentAnalysis` has the following updates to its packages
   [netcoreapp2.1]:
   Top-level Package      Requested   Resolved   Latest
   > Microsoft.ML         1.4.0       1.4.0      1.5.0-preview

プロジェクトに推移的依存関係があるかどうかを確認する必要がある場合は、--include-transitive オプションを使用します。 推移的依存関係は、プロジェクトに追加したパッケージがさらに別のパッケージに依存している場合に発生します。 次の例では、HelloPlugin プロジェクトに対して dotnet list package --include-transitive コマンドを実行した出力を示します、最上位のパッケージと、それらが依存しているパッケージが表示されています。

Project 'HelloPlugin' has the following package references
   [netcoreapp3.0]:
   Transitive Package      Resolved
   > PluginBase            1.0.0

引数

PROJECT | SOLUTION

対象のプロジェクトまたはソリューションのファイル。 指定されていない場合、現在のディレクトリで検索されます。 複数のソリューションまたはプロジェクトが見つかった場合は、エラーがスローされます。

オプション

  • --config <SOURCE>

    より新しいパッケージを検索するときに使用する NuGet ソース。 --outdated オプションが必要です。

  • --deprecated

    非推奨となったパッケージを表示します。

  • -f|--framework <FRAMEWORK>

    指定したターゲット フレームワークに該当するパッケージのみを表示します。 複数のフレームワークを指定するには、オプションを複数回繰り返します。 (例: --framework net6.0 --framework netstandard2.0)。 オプション (-f) の短い形式は、.NET 9 SDK 以降で使用できます。

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

  • --highest-minor

    新しいパッケージを検索するときに、メジャー バージョン番号が一致するパッケージのみを考慮します。 --outdated オプション、または --deprecated オプションが必要です。

  • --highest-patch

    新しいパッケージを検索するときに、メジャー バージョン番号とマイナー バージョン番号が一致するパッケージのみを考慮します。 --outdated オプション、または --deprecated オプションが必要です。

  • --include-prerelease

    新しいパッケージを検索するときに、プレリリース バージョンのパッケージを考慮します。 --outdated オプション、または --deprecated オプションが必要です。

  • --include-transitive

    最上位のパッケージに加えて、推移的なパッケージを一覧表示します。 このオプションを指定すると、最上位のパッケージが依存しているパッケージの一覧が表示されます。

  • --interactive

    コマンドを停止して、ユーザーの入力または操作のために待機させることができます。 たとえば、認証を完了する場合があります。 .NET Core 3.0 SDK 以降で使用できます。

  • --outdated

    より新しいバージョンを使用できるパッケージを一覧表示します。

  • -s|--source <SOURCE>

    より新しいパッケージを検索するときに使用する NuGet ソース。 --outdated オプション、または --deprecated オプションが必要です。

  • -v|--verbosity <LEVEL>

    コマンドの詳細レベルを設定します。 指定できる値は、q[uiet]m[inimal]n[ormal]d[etailed]、および diag[nostic] です。 既定値は、minimal です。 詳細については、「LoggerVerbosity」を参照してください。

  • --vulnerable

    既知の脆弱性が存在するパッケージを一覧表示します。 --deprecated または --outdated オプションと組み合わせることはできません。 Nuget.org は脆弱性に関する情報源です。 詳細については、脆弱性に関する記事および「NuGet パッケージのセキュリティの脆弱性をスキャンする方法」を参照してください。

  • --format <console|json>

    レポート出力形式を設定します。 使用できる値は consolejson です。 既定値は console です。 .NET SDK 7.0.200 以降で使用できます。

  • --output-version <VERSION>

    レポートの出力バージョンを設定します。 使用可能な値は 1 です。 既定値は 1 です。 --format json オプションが必要です。 新しい JSON バージョンが使用可能な場合、コマンドは既定で新しい形式を生成します。 コマンドで以前の形式を生成する必要がある場合、このオプションを使用することで指定できます。 .NET SDK 7.0.200 以降で使用できます。

使用例

  • 特定のプロジェクトのパッケージ参照を一覧表示します。

    dotnet list SentimentAnalysis.csproj package
    
  • プレリリース バージョンを含め、さらに新しいバージョンを使用できるパッケージ参照を一覧表示します。

    dotnet list package --outdated --include-prerelease
    
  • 特定のターゲット フレームワークのパッケージ参照を一覧表示します。

    dotnet list package --framework netcoreapp3.0
    
  • マシンで読み取り可能な json 出力形式でパッケージ参照を一覧表示します。

    dotnet list package --format json
    
  • マシンで読み取り可能な json 出力形式で、特定のターゲット フレームワークのパッケージ参照を一覧表示します。

    dotnet list package --framework netcoreapp3.0 --format json
    
  • 推移的な依存関係や脆弱性の詳細を含む、パッケージ参照のマシン読み取り可能な json 出力をファイルに保存します。

    dotnet list package --include-transitive --vulnerable --format json >> dependencyReport.json
    
  • 出力バージョン 1 を使用して、マシンで読み取り可能な json 出力形式でパッケージ参照を一覧表示します。

    dotnet list package --format json --output-version 1