dotnet list package

Este artigo se aplica a: ✔️ SDK do .NET Core 3.1 e versões posteriores

Nome

dotnet list package – Lista as referências de pacote para um projeto ou solução.

Sinopse

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

Descrição

O comando dotnet list package fornece uma opção conveniente para listar todas as referências de pacotes do NuGet para um projeto específico ou uma solução. Primeiro, você precisa criar o projeto para ter os recursos necessários para que esse comando seja processado. O exemplo a seguir mostra a saída do comando dotnet list package para o projeto 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.

A coluna Requested refere-se à versão do pacote especificada no arquivo de projeto e pode ser um intervalo. A coluna Resolved lista a versão que o projeto está usando atualmente e é sempre um valor único. Os pacotes que exibem um (A) ao lado de seus nomes representam referências implícitas de pacotes que são inferidas das configurações do seu projeto (tipo Sdk ou propriedade <TargetFramework> ou <TargetFrameworks>).

Use a opção --outdated para descobrir se existem versões mais recentes dos pacotes que você está usando em seus projetos. Por padrão, --outdated lista os pacotes estáveis mais recentes, a menos que a versão resolvida também seja uma versão de pré-lançamento. Para incluir versões de pré-lançamento ao listar versões mais recentes, especifique também a opção --include-prerelease. Para atualizar um pacote para a versão mais recente, use o comando dotnet add package.

Os seguintes exemplos mostram a saída do comando dotnet list package --outdated --include-prerelease para o mesmo projeto do exemplo 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

Se você precisa descobrir se seu projeto tem dependências transitivas, use a opção --include-transitive. Dependências transitivas ocorrem quando você adiciona um pacote ao seu projeto que, por sua vez, depende de outro pacote. O exemplo a seguir mostra a saída da execução do comando dotnet list package --include-transitive para o projeto HelloPlugin, que exibe os pacotes de nível superior e os pacotes dos quais eles dependem:

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

Argumentos

PROJECT | SOLUTION

O arquivo de projeto ou solução para operar. Se não for especificado, o comando pesquisará um no diretório atual. Se mais de uma solução ou projeto for encontrado, um erro será lançado.

Opções

  • --config <SOURCE>

    A fontes do NuGet a serem usadas ao procurar pacotes mais novos. Requer a opção --outdated.

  • --deprecated

    Exibe pacotes que já foram preteridos.

  • -f|--framework <FRAMEWORK>

    Exibe apenas os pacotes aplicáveis para a estrutura de destino especificada. Para especificar várias estruturas, repita a opção várias vezes. Por exemplo: --framework net6.0 --framework netstandard2.0. A forma abreviada da opção (-f) está disponível a partir do SDK do .NET 9.

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

  • --highest-minor

    Ao procurar pacotes mais novos, considerar apenas os pacotes com um número de versão principal correspondente. Requer a opção --outdated ou --deprecated.

  • --highest-patch

    Ao procurar pacotes mais novos, considerar apenas os pacotes com números de versão principais e secundários correspondentes. Requer a opção --outdated ou --deprecated.

  • --include-prerelease

    Ao procurar pacotes mais novos, considere pacotes com versões de pré-lançamento. Requer a opção --outdated ou --deprecated.

  • --include-transitive

    Lista pacotes transitivos, além dos pacotes de nível superior. Ao especificar essa opção, você obtém uma lista de pacotes dos quais os pacotes de nível superior dependem.

  • --interactive

    Permite que o comando pare e aguarde entrada ou ação do usuário. Por exemplo, para concluir a autenticação. Disponível desde o SDK do .NET Core 3.0.

  • --outdated

    Lista os pacotes que têm as versões mais recentes disponíveis.

  • -s|--source <SOURCE>

    A fontes do NuGet a serem usadas ao procurar pacotes mais novos. Requer a opção --outdated ou --deprecated.

  • -v|--verbosity <LEVEL>

    Define o nível de detalhes do comando. Os valores permitidos são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. O padrão é minimal. Para obter mais informações, consulte LoggerVerbosity.

  • --vulnerable

    Lista pacotes que têm vulnerabilidades conhecidas. Não pode ser combinado com as opções --deprecated ou --outdated. Nuget.org é a fonte de informações sobre vulnerabilidades. Para obter mais informações, confira Vulnerabilidades e Como examinar pacotes NuGet em busca de vulnerabilidades de segurança.

  • --format <console|json>

    Define o formato de saída do relatório. Os valores permitidos são console, json. Assume o padrão de console. Disponível a partir do SDK do .NET 7.0.200.

  • --output-version <VERSION>

    Define a versão de saída do relatório. O valor permitido é 1. Assume o padrão de 1. Requer a opção --format json. Quando uma nova versão JSON estiver disponível, o comando produzirá o novo formato por padrão. Essa opção permitirá que você especifique que o comando deve produzir um formato anterior. Disponível a partir do SDK do .NET 7.0.200.

Exemplos

  • Listar referências de pacote de um projeto específico:

    dotnet list SentimentAnalysis.csproj package
    
  • Listar referências de pacote com versões mais recentes disponíveis, incluindo versões de pré-lançamento:

    dotnet list package --outdated --include-prerelease
    
  • Listar referências de pacotes para uma estrutura de destino específica:

    dotnet list package --framework netcoreapp3.0
    
  • Liste as referências de pacote no formato de saída JSON legível pelo computador:

    dotnet list package --format json
    
  • Liste as referências de pacote para uma estrutura de destino específica no formato de saída JSON legível pelo computador:

    dotnet list package --framework netcoreapp3.0 --format json
    
  • Salve a saída JSON legível pelo computador de referências de pacote, incluindo detalhes transitivos de dependência e vulnerabilidade em um arquivo:

    dotnet list package --include-transitive --vulnerable --format json >> dependencyReport.json
    
  • Liste as referências de pacote no formato de saída JSON legível pelo computador com a versão de saída 1:

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