dotnet list package

Questo articolo si applica a: ✔️ .NET Core 3.1 SDK e versioni successive

Nome

dotnet list package: elenca i riferimenti al pacchetto per un progetto o una soluzione.

Riepilogo

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

Descrizione

Il comando dotnet list package offre un'opzione utile per visualizzare un elenco di tutti i riferimenti al pacchetto NuGet per un progetto o una soluzione specifica. Occorre prima di tutto compilare il progetto in modo da avere le risorse che il comando dovrà elaborare. L'esempio seguente mostra l'output del comando dotnet list package per il progetto SentimentAnalysis:

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.

La colonna Requested si riferisce alla versione del pacchetto specificata nel file di progetto e può essere un intervallo. La colonna Resolved indica la versione attualmente usata dal progetto ed è sempre un valore singolo. I pacchetti che visualizzano un (A) accanto ai relativi nomi rappresentano riferimenti impliciti ai pacchetti dedotti dalle impostazioni del progetto (tipo Sdk o proprietà <TargetFramework> o <TargetFrameworks>).

Usare l'opzione --outdated per determinare se sono disponibili versioni più recenti dei pacchetti usati nei progetti. Per impostazione predefinita, --outdated elenca i pacchetti stabili più recenti, a meno che anche la versione risolta non sia una versione non definitiva. Per includere le versioni non definitive nell'elenco delle versioni più recenti, specificare anche l'opzione --include-prerelease. Per aggiornare un pacchetto alla versione più recente, usare dotnet add package.

L'esempio seguente mostra l'output del comando dotnet list package --outdated --include-prerelease per lo stesso progetto dell'esempio precedente:

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

Se occorre verificare se il progetto ha dipendenze transitive, usare l'opzione --include-transitive. Le dipendenze transitive si hanno quando si aggiunge al progetto un pacchetto che a sua volta si basa su un altro pacchetto. L'esempio seguente mostra l'output dell'esecuzione del comando dotnet list package --include-transitive per il progetto HelloPlugin, che mostra i pacchetti di primo livello e i pacchetti da cui dipendono:

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

Argomenti

PROJECT | SOLUTION

File di progetto o di soluzione su cui eseguire le operazioni. Se non specificato, il comando ne cerca uno nella directory corrente. Se vengono trovati più progetti o soluzioni, viene generato un errore.

Opzioni

  • --config <SOURCE>

    Origini NuGet da usare per cercare i pacchetti più recenti. Richiede l'opzione --outdated.

  • --deprecated

    Visualizza i pacchetti deprecati.

  • -f|--framework <FRAMEWORK>

    Visualizza solo i pacchetti validi per il framework di destinazione specificato. Per specificare più framework, ripetere l'opzione più volte. Ad esempio: --framework net6.0 --framework netstandard2.0. La forma breve dell'opzione (-f) è disponibile a partire da .NET 9 SDK.

  • -?|-h|--help

    Stampa le istruzioni di utilizzo del comando.

  • --highest-minor

    Prende in considerazione solo i pacchetti con il numero di versione principale corrispondente quando si cercano i pacchetti più recenti. Richiede l'opzione --outdated o --deprecated.

  • --highest-patch

    Prende in considerazione solo i pacchetti con i numeri di versione principale e secondaria corrispondenti quando si cercano i pacchetti più recenti. Richiede l'opzione --outdated o --deprecated.

  • --include-prerelease

    Prende in considerazione i pacchetti con versioni non definitive quando si cercano i pacchetti più recenti. Richiede l'opzione --outdated o --deprecated.

  • --include-transitive

    Elenca i pacchetti transitivi, oltre ai pacchetti di primo livello. Quando si specifica questa opzione, si ottiene un elenco di pacchetti da cui dipendono i pacchetti di primo livello.

  • --interactive

    Consente al comando di arrestarsi e attendere l'input o l'azione dell'utente, ad esempio il completamento dell'autenticazione. Disponibile a partire da .NET Core 3.0 SDK.

  • --outdated

    Elenca i pacchetti per cui sono disponibili versioni più recenti.

  • -s|--source <SOURCE>

    Origini NuGet da usare per cercare i pacchetti più recenti. Richiede l'opzione --outdated o --deprecated.

  • -v|--verbosity <LEVEL>

    Imposta il livello di dettaglio del comando. I valori consentiti sono q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. Il valore predefinito è minimal. Per ulteriori informazioni, vedere LoggerVerbosity.

  • --vulnerable

    Elenca i pacchetti con vulnerabilità note. Non è possibile combinare con le opzioni --deprecated o --outdated. Nuget.org è la fonte di informazioni sulle vulnerabilità. Per altre informazioni, vedere Vulnerabilità e Come analizzare i pacchetti NuGet per individuare le vulnerabilità di sicurezza.

  • --format <console|json>

    Imposta il formato di output del report. I valori consentiti sono console, json. Il valore predefinito è console. Disponibile a partire da .NET SDK 7.0.200.

  • --output-version <VERSION>

    Imposta la versione di output del report. Il valore consentito è 1. Il valore predefinito è 1. Richiede l'opzione --format json. Quando è disponibile una nuova versione JSON, questo comando produrrà il nuovo formato per impostazione predefinita. Questa opzione consente di specificare che il comando deve produrre un formato precedente. Disponibile a partire da .NET SDK 7.0.200.

Esempi

  • Elencare i riferimenti al pacchetto di un progetto specifico:

    dotnet list SentimentAnalysis.csproj package
    
  • Elencare i riferimenti al pacchetto per cui sono disponibili versioni più recenti, incluse le versioni non definitive:

    dotnet list package --outdated --include-prerelease
    
  • Elencare i riferimenti al pacchetto per un framework di destinazione specifico:

    dotnet list package --framework netcoreapp3.0
    
  • Elencare i riferimenti ai pacchetti nel formato di output JSON leggibile a macchina:

    dotnet list package --format json
    
  • Elencare i riferimenti ai pacchetti per un framework di destinazione specifico nel formato di output JSON leggibile a macchina:

    dotnet list package --framework netcoreapp3.0 --format json
    
  • Salvare l'output JSON leggibile a macchina dei riferimenti ai pacchetti, incluse le dipendenze transitive e i dettagli di vulnerabilità in un file:

    dotnet list package --include-transitive --vulnerable --format json >> dependencyReport.json
    
  • Elencare i riferimenti ai pacchetti nel formato di output JSON leggibile a macchina con versione di output 1:

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