Condividi tramite


Pacchetto dotnet list

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.

Sinossi

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 pratica per elencare tutti i riferimenti ai pacchetti NuGet per un progetto specifico o una soluzione. Prima di tutto è necessario compilare il progetto per poter elaborare gli asset necessari per questo comando. 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 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à).

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 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 è 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 list package --include-transitive per il progetto HelloPlugin, che visualizza 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 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 arrestare e attendere l'input o l'azione dell'utente. Ad esempio, per completare l'autenticazione. Disponibile a partire da .NET Core 3.0 SDK.

  • --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. Usare la proprietà <AuditSources> nel file di configurazione per specificare l'origine 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 list SentimentAnalysis.csproj package
    
  • Elencare i riferimenti ai pacchetti con versioni più recenti disponibili, incluse le versioni non definitive:

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

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

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

    dotnet list package --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 list package --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 list package --format json --output-version 1