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] y diag[nostic]. De manera predeterminada, es minimal. 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 y json. Tiene como valor predeterminado console. 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 predeterminado 1. 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