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]
ediag[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