Instalar e gerenciar pacotes no Visual Studio usando o Gerenciador de Pacotes NuGet

A interface do usuário do Gerenciador de Pacotes NuGet no Microsoft Visual Studio no Windows possibilita instalar, desinstalar e atualizar pacotes do NuGet com facilidade em projetos e soluções.

O artigo destina-se apenas a usuários do Windows. Se você estiver usando o Visual Studio para Mac, consulte Incluindo um pacote NuGet em seu projeto.

Pré-requisitos

  • Instale o Visual Studio 2022 para Windows com qualquer carga de trabalho relacionada ao .NET.

    É possível instalar a edição Community 2022 gratuitamente em visualstudio.microsoft.com ou usar a edição Professional ou Enterprise.

    O Visual Studio 2017 e superior incluem automaticamente o Gerenciador de Pacotes NuGet quando uma carga de trabalho relacionada ao .NET é instalada. Para instalá-la individualmente no Instalador do Visual Studio, selecione a guia Componentes individuais e, em seguida, Gerenciador de Pacotes NuGet em Ferramentas de código.

    No Visual Studio 15, se você não tiver o Gerenciador de Pacotes NuGet, marque Ferramentas>Extensões e Atualizações e pesquise pela extensão Gerenciador de Pacotes do NuGet. Se não é possível usar o instalador de extensões no Visual Studio, baixe a extensão diretamente de https://dist.nuget.org/index.html.

  • Registre-se em uma conta gratuita em nuget.org, se ainda não tiver uma. Você deverá se registrar confirmar a conta antes de poder carregar um pacote do NuGet.

Encontrar e instalar um pacote

Para localizar e instalar um pacote NuGet com o Visual Studio, siga estas etapas:

  1. Carregue um projeto no Gerenciador de Soluções e, em seguida, selecione Projeto>Gerenciar Pacotes NuGet.

    A janela Gerenciador de Pacotes NuGet será aberta.

  2. Selecione a guia Procurar para exibir pacotes por popularidade a partir da origem selecionada no momento (consulte Origens de pacotes). Para procurar um pacote específico, use a caixa de pesquisa no canto superior esquerdo. Selecione um pacote na lista para exibir as informações sobre ele no painel direito, o que também permite a você selecionar uma versão para instalar.

    Screenshot showing the NuGet Package Manager window with the Browse tab selected.

  3. No painel direito, selecione uma Versão na lista suspensa. Se desejar incluir versões de pré-lançamento na lista Versão, selecione Incluir pré-lançamento.

  4. Para instalar o pacote NuGet, selecione Instalar. Você pode ser solicitado a aceitar os termos de licença ou solicitado a verificar a instalação.

    O Visual Studio instala o pacote e suas dependências no projeto. Quando a instalação estiver concluída, os pacotes adicionados aparecerão na guia Instalado. Você também pode encontrar pacotes no nó Dependências>Pacotes do seu projeto no Gerenciador de Soluções. Depois de instalar um pacote, você pode consultá-lo no projeto com uma instrução using.

  5. (Opcional) O NuGet tem dois formatos nos quais um projeto pode usar pacotes: PackageReference e packages.config. Para definir o formato padrão, selecione Opções>Ferramentas, expanda o Gerenciador de Pacotes NuGet, selecione Geral e escolha o Formato de gerenciamento de pacotes padrão. Para obter mais informações, consulte Escolher formato de gerenciamento de pacotes padrão.

Desinstalar um pacote

Para desinstalar um pacote NuGet, siga estas etapas:

  1. Carregue um projeto no Gerenciador de Soluções e, em seguida, selecione Projeto>Gerenciar Pacotes NuGet. Em seguida, selecione a guia Instalado.

  2. Selecione o pacote a ser desinstalado no painel esquerdo (use a caixa Pesquisar para localizá-lo, se necessário) e selecione Desinstalar no painel direito.

    Screenshot showing the NuGet Package Manager with a package selected and its Uninstall button highlighted.

Atualizar um pacote

Para adicionar um pacote NuGet, siga estas etapas:

  1. Carregue um projeto no Gerenciador de Soluções e, em seguida, selecione Projeto>Gerenciar Pacotes NuGet. Para projetos de site, selecione a pasta Bin primeiro.

  2. Selecione a guia Atualizações para ver os pacotes que têm atualizações disponíveis da Origem de pacotes selecionada. Selecione Incluir pré-lançamento para incorporar pacotes de pré-lançamento à lista de atualizações.

  3. Selecione o pacote para atualizar. No painel direito, selecione a Versão desejada na lista suspensa e selecione Atualizar.

    Screenshot showing the NuGet Package Manager with a package selected and its Update button highlighted.

  4. Para alguns pacotes, o botão Atualizar está desabilitado e a seguinte mensagem aparece: Referenciado implicitamente por um SDK. Para atualizar o pacote, atualize o SDK ao qual ele pertence. Essa mensagem indica que o pacote faz parte de uma estrutura ou SDK maior e não pode ser atualizado independentemente. Esses pacotes são marcados internamente com <IsImplicitlyDefined>True</IsImplicitlyDefined>. Por exemplo, o Microsoft.NETCore.App faz parte do SDK do .NET Core, e a versão do pacote é diferente da versão da estrutura de runtime usada pelo aplicativo. Para baixar uma nova versão do .NET Core, atualize a instalação do .NET Core. Para obter mais informações, consulte Metapacotes e controle de versão do .NET Core. Esse cenário se aplica aos seguintes pacotes usados com frequência:

    • Microsoft.AspNetCore.All
    • Microsoft.AspNetCore.App
    • Microsoft.NETCore.App
    • NETStandard.Library

    Screenshot showing a NuGet package with the Update button disabled.

  5. Para atualizar vários pacotes para suas versões mais recentes, escolha-os na lista de pacotes NuGet e selecione Atualizar.

  6. Você também pode atualizar um pacote individual na guia Instalados. Para esse caso, você também pode selecionar uma Versão e a opção Incluir pré-lançamento.

Gerenciar pacotes para a solução

O gerenciamento de pacotes para uma solução é um meio conveniente de trabalhar com vários projetos ao mesmo tempo:

  1. Selecione uma solução no Gerenciador de Soluções e selecione Ferramentas>Gerenciador de Pacotes NuGet>Gerenciar Pacotes NuGet para Solução.

  2. Na janela Gerenciar Pacotes NuGet para Solução, selecione os pacotes que são afetados pelas operações.

    Screenshot showing the Manage Packages for Solution window with multiple projects selected.

Guia Consolidar

Os desenvolvedores costumam considerar uma prática inadequada usar versões diferentes do mesmo pacote do NuGet em diferentes projetos na mesma solução. O Visual Studio permite que você use uma versão comum para seus pacotes NuGet. Para fazer isso, use a guia Consolidar da janela Gerenciador de Pacotes NuGet para descobrir onde pacotes com números de versão distintos são usados por projetos diferentes na solução.

Screenshot showing the Manage Packages for Solution window with the Consolidate tab selected.

Neste exemplo, o projeto ClassLibrary1 está usando EntityFramework 6.2.0, enquanto o ConsoleApp1 está usando EntityFramework 6.1.0. Para consolidar versões de pacote, execute estas etapas:

  1. Na guia Consolidar, selecione os projetos a atualizar na lista de projetos.

  2. Selecione a versão a ser usada para todos esses projetos na lista Versão.

  3. Selecione Instalar.

    O Gerenciador de Pacotes Nuget instala a versão de pacote selecionada em todos os projetos selecionados e, após isso, o pacote não aparece mais na guia Consolidar.

Origens de pacotes

O Visual Studio ignora a ordem das origens de pacotes e usa o pacote de qualquer origem que responder às solicitações primeiro. Para saber mais, consulte Restaurar pacotes. Para obter informações sobre como carregar um pacote de uma origem específica, consulte Mapeamento de origens de pacotes.

Para gerenciar origens de pacotes NuGet, siga estas etapas:

  1. Para alterar a origem da qual o Visual Studio carrega metadados de pacotes, selecione uma origem no seletor Origem de pacotes.

    Screenshot showing the Package source selector highlighted.

  2. Para gerenciar suas origens de pacotes, selecione o ícone Configurações ou selecione Opções>Ferramentas.

    Screenshot showing the Package source settings icon highlighted.

  3. Na janela Opções, expanda o nó Gerenciador de Pacotes NuGet e selecione Origens de pacotes.

    Screenshot showing the Options window with Package Sources selected.

  4. Para adicionar uma origem, selecione +, edite o Nome, insira o URL ou o caminho em Origem e selecione Atualizar.

    A origem agora aparece na lista suspensa Origem de pacotes.

  5. Para alterar uma origem de pacotes, selecione-a, faça as edições nas caixas Nome e Origem e selecione Atualizar.

  6. Para desabilitar uma origem de pacotes, desmarque a caixa à esquerda do nome na lista.

  7. Para remover uma origem de pacotes, selecione-a e, em seguida, selecione o botão X.

    Caso uma origem de pacotes reapareça após ser excluída, ela poderá estar listada em arquivos NuGet.config em nível de computador ou de usuário. Para obter o local desses arquivos, consulte Configurações comuns do NuGet. Remova a origem do pacote nos arquivos editando-os manualmente ou usando o comando nuget sources.

Controle de opções do Gerenciador de Pacotes NuGet

Quando você seleciona um pacote, o Gerenciador de Pacotes do NuGet exibe um controle Opções expansível abaixo do seletor Versão. Na maioria dos tipos de projeto, apenas a opção Mostrar janela de visualização é fornecida.

Screenshot showing the NuGet Package manager Options control expanded.

As seções a seguir explicam as opções disponíveis.

Opções de instalação e atualização

Essas opções estão disponíveis apenas para determinados tipos de projeto:

  • Comportamento da dependência: essa opção define como o NuGet decide quais versões de pacotes dependentes serão instaladas. Ela oferece as seguintes configurações:

    • Ignorar dependências ignora a instalação de dependências, o que normalmente interrompe a instalação do pacote.
    • Mais Baixa [Padrão] instala a dependência com o número de versão mínimo que atende aos requisitos do pacote principal escolhido.
    • Patch Mais Alto instala a versão com os mesmos números de versão principal e secundária, mas com o número de patch mais alto. Por exemplo, se a versão 1.2.2 for especificada, a versão mais alta que começa com 1.2 será instalada
    • Secundário Mais Alto instala a versão com o mesmo número de versão principal, mas com o número secundário e o número de patch mais altos. Se a versão 1.2.2 for especificada, a versão mais alta que começa com 1 será instalada
    • Mais Alta instala a versão mais alta disponível do pacote.
  • Ação de conflito de arquivo: essa opção especifica como o NuGet deve lidar com pacotes que já existem no projeto ou no computador local. Ela oferece as seguintes configurações:

    • Avisar instrui o NuGet a perguntar se os pacotes existentes serão mantidos ou substituídos.
    • Ignorar tudo instrui o NuGet a ignorar a substituição de pacotes existentes.
    • Substituir Tudo instrui o NuGet a substituir pacotes existentes.

Opções de desinstalação

Essas opções estão disponíveis apenas para determinados tipos de projeto:

  • Remover dependências: quando selecionada, remove todos os pacotes dependentes caso não estejam referenciados em outro lugar no projeto.

  • Forçar desinstalação, mesmo se houver dependências: quando selecionada, desinstala um pacote mesmo se ele ainda está sendo referenciado no projeto. Normalmente, isso é usado em combinação com Remover dependências para remover um pacote e quaisquer dependências que ele instalou. No entanto, o uso dessa opção pode causar referências inválidas no projeto. Nesse caso, talvez seja necessário reinstalar os outros pacotes.

Confira também

Para obter mais informações sobre o NuGet, consulte os seguintes artigos: