Condividi tramite


Elenco pacchetti dotnet

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

Nome

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

Nota

Se si usa .NET 9 SDK o versioni precedenti, usare invece il modulo "verbo first" () .If you're using .NET 9 SDK or earlier, use the "verb first" form () invecedotnet list package. Il formato "sostantivo primo" è stato introdotto in .NET 10. Per altre informazioni, vedere Ordine dei comandi più coerente.

Sinossi

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

dotnet package list -h|--help

Descrizione

Il comando dotnet package list offre un'opzione pratica per elencare tutti i riferimenti ai pacchetti NuGet per un progetto specifico o una soluzione. A partire da .NET 10, il comando esegue automaticamente il ripristino, se necessario, prima di generare i risultati. Nelle versioni precedenti è prima necessario compilare/ripristinare il progetto per poter elaborare gli asset necessari per questo comando. L'esempio seguente mostra l'output del comando dotnet package list per il progetto SentimentAnalysis:

Restore complete (5.9s)

Build succeeded in 6.0s
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 richiesta fa riferimento alla versione del pacchetto specificata nel file di progetto e può essere un intervallo. La colonna risolta elenca la versione attualmente in uso del progetto ed è sempre un singolo valore. I pacchetti che visualizzano un (A) accanto ai relativi nomi rappresentano riferimenti impliciti ai pacchetti dedotti dalle impostazioni del progetto ( tipo diSdk o <TargetFramework> o <TargetFrameworks> proprietà).

Se si vuole ignorare il ripristino automatico, è possibile usare l'opzione --no-restore . Esempio dotnet package list --no-restore:

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.

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

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

Restore complete (0.6s)

Build succeeded in 0.7s

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 è necessario verificare se il progetto presenta dipendenze transitive, usare l'opzione --include-transitive. Le dipendenze transitive si verificano quando si aggiunge un pacchetto al progetto che a sua volta si basa su un altro pacchetto. L'esempio seguente mostra l'output dell'esecuzione del comando dotnet package list --include-transitive per il progetto HelloPlugin, che visualizza i pacchetti di primo livello e i pacchetti da cui dipendono:

Restore complete (0.6s)

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

Argomenti

PROJECT | SOLUTION

File di progetto o soluzione su cui operare. Se non specificato, il comando cerca una nella directory corrente. Se viene trovata più di una soluzione o un progetto, viene generato un errore.

Opzioni

  • --config <SOURCE>

    Origini NuGet da usare per la ricerca di pacchetti più recenti. Richiede l'opzione --outdated.

  • --deprecated

    Visualizza i pacchetti deprecati.

  • -f|--framework <FRAMEWORK>

    Visualizza solo i pacchetti applicabili 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 una descrizione di come usare il comando .

  • --highest-minor

    Considera solo i pacchetti con un numero di versione principale corrispondente durante la ricerca di pacchetti più recenti. Richiede l'opzione --outdated o --deprecated.

  • --highest-patch

    Considera solo i pacchetti con numeri di versione principali e secondari corrispondenti durante la ricerca di pacchetti più recenti. Richiede l'opzione --outdated o --deprecated.

  • --include-prerelease

    Considera i pacchetti con versioni non definitive durante la ricerca di 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.

  • --no-restore

    Non eseguire il ripristino prima di eseguire il comando.

  • --outdated

    Elenca i pacchetti con versioni più recenti disponibili.

  • -s|--source <SOURCE>

    Origini NuGet da usare per la ricerca di 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 altre informazioni, vedere LoggerVerbosity.

  • --vulnerable

    Elenca i pacchetti con vulnerabilità note. Impossibile combinare --deprecated o --outdated opzioni. Disponibile a partire da .NET SDK 9.0.300, questa opzione usa la proprietà nel file di configurazione per specificare l'origine <AuditSources> dei dati della vulnerabilità, acquisiti dalla risorsa VulnerabilityInfo . Se non viene specificato <AuditSources>, il <PackageSources> specificato viene usato per caricare i dati della vulnerabilità. Per altre informazioni, vedere Controllare le origini 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, il 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 ai pacchetti di un progetto specifico:

    dotnet package list --project SentimentAnalysis.csproj
    
  • Elencare i riferimenti ai pacchetti con versioni più recenti disponibili, incluse le versioni non definitive:

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

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

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

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

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

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