次の方法で共有


dotnet package list

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

名前

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

.NET 9 SDK 以前を使用している場合は、代わりに "動詞優先" フォーム (dotnet list package) を使用します。 .NET 10 では、"名詞第 1" フォームが導入されました。 詳細については、「 一貫性のあるコマンド順序」を参照してください。

概要

dotnet package list [--config <SOURCE>]
    [--deprecated] [--project [<PROJECT>|<SOLUTION>]]
    [-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 package list -h|--help

説明

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

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.

要求された 列は、プロジェクト ファイルで指定されたパッケージ バージョンを参照し、範囲を指定できます。 解決済み 列には、プロジェクトが現在使用しているバージョンが一覧表示され、常に 1 つの値になります。 名前の横に (A) を表示するパッケージは、プロジェクト設定 (Sdk 型、<TargetFramework> プロパティ、または <TargetFrameworks> プロパティ) から推論される暗黙的なパッケージ参照を表します。

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

次の例は、前の例と同じプロジェクトの dotnet package list --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 オプションを使用します。 推移的な依存関係は、別のパッケージに依存するパッケージをプロジェクトに追加するときに発生します。 次の例は、dotnet package list --include-transitive プロジェクトに対して コマンドを実行した場合の出力を示しています。このプロジェクトには、最上位レベルのパッケージと依存しているパッケージが表示されます。

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

議論

PROJECT | SOLUTION

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

オプション

  • --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 オプションと組み合わせることはできません。 構成ファイルの <AuditSources> プロパティを使用して、VulnerabilityInfo リソースから取得される脆弱性データのソースを指定します。 <AuditSources> を指定しない場合は、指定した <PackageSources> を使用して脆弱性データが読み込まれます。 詳細については、「監査ソースの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 package list --project SentimentAnalysis.csproj
    
  • プレリリース バージョンを含め、新しいバージョンを使用できるパッケージ参照を一覧表示します。

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

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

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

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

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

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