dotnet list package
Este artículo se aplica a: ✔️ SDK de .NET Core 3.1 y versiones posteriores
NOMBRE
dotnet list package
: muestra las referencias de paquete de un proyecto o una solución.
Sinopsis
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
Descripción
El comando dotnet list package
ofrece una opción práctica para mostrar todas las referencias de paquete de NuGet de una solución o un proyecto específico. Primero deberá crear el proyecto para tener los recursos necesarios para que este comando se procese. En el ejemplo siguiente se muestra la salida del comando dotnet list package
para el proyecto 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 columna Requested hace referencia a la versión de paquete especificada en el archivo del proyecto y puede ser un intervalo. La columna Resolved muestra la versión que el proyecto usa actualmente y siempre se trata de un valor único. Los paquetes que tienen (A)
junto al nombre representan referencias implícitas de paquete que se deducen de la configuración del proyecto (tipo Sdk
, propiedad <TargetFramework>
o <TargetFrameworks>
, etc.).
Use la opción --outdated
para averiguar si hay disponibles más recientes de los paquetes que usa en los proyectos. De manera predeterminada, --outdated
muestra los paquetes estables más recientes, a menos que la versión resuelta también sea una versión preliminar. Para incluir versiones preliminares cuando se muestren versiones más recientes, especifique también la opción --include-prerelease
. Use dotnet add package si quiere actualizar un paquete a su versión más reciente.
En el ejemplos siguiente se muestra la salida del comando dotnet list package --outdated --include-prerelease
para el mismo proyecto, tal como en el ejemplo anterior:
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
Si tiene que averiguar si el proyecto tiene dependencias transitivas, use la opción --include-transitive
. Las dependencias transitivas se producen cuando se agrega un paquete al proyecto que, a su vez, se basa en otro paquete. En el ejemplo siguiente se muestra la salida de la ejecución del comando dotnet list package --include-transitive
en el proyecto HelloPlugin, que muestra paquetes de nivel superior y los paquetes de los que dependen:
Project 'HelloPlugin' has the following package references
[netcoreapp3.0]:
Transitive Package Resolved
> PluginBase 1.0.0
Argumentos
PROJECT | SOLUTION
El archivo de proyecto o solución donde se operará. Si no se especifica, el comando busca uno en el directorio actual. Si se encuentra más de una solución o proyecto, se genera un error.
Opciones
--config <SOURCE>
Los orígenes de NuGet que se usarán al buscar paquetes más recientes. Requiere la opción
--outdated
.--deprecated
Muestra los paquetes que han quedado en desuso.
-f|--framework <FRAMEWORK>
Muestra solo los paquetes aplicables al marco de destino especificado. Para especificar varios marcos, repita la opción varias veces. Por ejemplo:
--framework net6.0 --framework netstandard2.0
. La forma abreviada de la opción (-f
) está disponible a partir del SDK de .NET 9.
-?|-h|--help
Imprime una descripción de cómo usar el comando.
--highest-minor
Considere solo los paquetes con un número de versión principal coincidente al buscar paquetes más recientes. Requiere la opción
--outdated
o--deprecated
.--highest-patch
Considere solo los paquetes con número de versión principal y secundario coincidente al buscar paquetes más recientes. Requiere la opción
--outdated
o--deprecated
.--include-prerelease
Considere los paquetes con versiones preliminares al buscar paquetes más recientes. Requiere la opción
--outdated
o--deprecated
.--include-transitive
Enumera los paquetes transitivos, además de los paquetes de nivel superior. Al especificar esta opción, recibe una lista de paquetes de los que dependen los paquetes de nivel superior.
--interactive
Permite que el comando se detenga y espere una entrada o una acción del usuario. Por ejemplo, para completar la autenticación. Disponible desde el SDK de .NET Core 3.0.
--outdated
Enumera los paquetes con versiones más recientes disponibles.
-s|--source <SOURCE>
Los orígenes de NuGet que se usarán al buscar paquetes más recientes. Requiere la opción
--outdated
o--deprecated
.
-v|--verbosity <LEVEL>
Establece el nivel de detalle del comando. Los valores permitidos son
q[uiet]
,m[inimal]
,n[ormal]
,d[etailed]
ydiag[nostic]
. De manera predeterminada, esminimal
. Para obtener más información, vea LoggerVerbosity.
--vulnerable
Enumera los paquetes que tienen vulnerabilidades conocidas. No se puede combinar con las opciones
--deprecated
o--outdated
. Nuget.org es la fuente de información de las vulnerabilidades. Para obtener más información, consulte Puntos vulnerables y How to Scan NuGet Packages for Security Vulnerabilities (Cómo examinar paquetes de NuGet para detectar puntos vulnerables en la seguridad).--format <console|json>
Establece el formato de salida del informe. Los valores permitidos son
console
yjson
. Tiene como valor predeterminadoconsole
. Disponible a partir de .NET SDK 7.0.200.--output-version <VERSION>
Establece la versión de salida del informe. El valor permitido es
1
. Tiene como valor predeterminado1
. Requiere la opción--format json
. Cuando haya disponible una nueva versión de JSON, el comando generará el nuevo formato de forma predeterminada. Esta opción le permitirá especificar que el comando debe generar un formato anterior. Disponible a partir de .NET SDK 7.0.200.
Ejemplos
Muestre las referencias de paquete de un proyecto específico:
dotnet list SentimentAnalysis.csproj package
Muestre las referencias de paquete que tienen versiones más recientes disponibles, incluidas versiones preliminares:
dotnet list package --outdated --include-prerelease
Muestre las referencias de paquete para un marco de destino específico:
dotnet list package --framework netcoreapp3.0
Muestre las referencias de paquete en un formato de salida JSON legible por máquina:
dotnet list package --format json
Muestre las referencias de paquete para un marco de destino específico en un formato de salida JSON legible por máquina:
dotnet list package --framework netcoreapp3.0 --format json
Guarde la salida JSON legible por máquina de las referencias de paquete en un archivo, incluidos los detalles de dependencia transitiva y vulnerabilidad:
dotnet list package --include-transitive --vulnerable --format json >> dependencyReport.json
Muestre las referencias de paquete en un formato de salida JSON legible por máquina con la versión de salida 1:
dotnet list package --format json --output-version 1