Compartilhar via


Gerenciar pacotes com o Console do Gerenciador de Pacotes do Visual Studio (PowerShell)

O Console do Gerenciador de Pacotes no Visual Studio usa comandos do PowerShell para interagir com pacotes NuGet. Você pode usar o console quando não é possível realizar uma operação por meio da UI do Gerenciador de Pacotes. Você também pode usar comandos da CLI do dotnet ou da CLI do NuGet no console.

Este artigo descreve como localizar, instalar, atualizar e desinstalar pacotes NuGet com comandos do PowerShell no Console do Gerenciador de Pacotes. Para obter a referência de comando completa do PowerShell do Console do Gerenciador de Pacotes, consulte a referência do PowerShell.

Importante

Os comandos e argumentos do PowerShell neste artigo são específicos para o Console do Gerenciador de Pacotes do Visual Studio. Esses comandos diferem dos comandos do módulo PackageManagement que você pode usar em um ambiente geral do PowerShell. Cada ambiente tem comandos que não estão disponíveis no outro e comandos com o mesmo nome podem diferir em seus argumentos específicos.

Disponibilidade do console

A partir do Visual Studio 2017, o NuGet e o Gerenciador de Pacotes NuGet são instalados automaticamente quando você cria qualquer carga de trabalho relacionada ao .NET no Visual Studio. Você também pode instalar o Gerenciador de Pacotes selecionando Componentes Individuais>Ferramentas de Código>Gerenciador de Pacotes NuGet no Instalador do Visual Studio.

Você também pode pesquisar a extensão do Gerenciador de Pacotes NuGet nosmenus Extensões e Atualizações ou > das Ferramentas. Se não for possível usar o instalador de extensões no Visual Studio, você poderá baixar a extensão diretamente.https://dist.nuget.org/index.html

O Console do Gerenciador de Pacotes é integrado ao Gerenciador de Pacotes para Visual Studio no Windows. O Visual Studio Code e o Visual Studio para Mac não incluem o console. O Visual Studio para Mac tem uma interface do usuário para gerenciar pacotes NuGet e os comandos de console equivalentes estão disponíveis por meio da CLI do NuGet. Para obter mais informações, consulte Instalar e gerenciar pacotes NuGet no Visual Studio para Mac.

Localizar e instalar rapidamente um pacote

Para usar o Console do Gerenciador de Pacotes para localizar e instalar rapidamente um pacote:

  1. Abra seu projeto ou solução no Visual Studio e selecione Ferramentas>Gerenciador de Pacotes NuGet>Console do Gerenciador de Pacotes para abrir a janela do Console do Gerenciador de Pacotes.

  2. No console, insira Find-Package com uma palavra-chave para localizar o pacote que você deseja instalar. Por exemplo, para localizar pacotes que contêm a palavra-chave elmah, execute o comando a seguir. Se você já souber o nome do pacote desejado, ignore esta etapa.

    Find-Package elmah
    
  3. Depois de encontrar o nome, use o Install-Package comando para instalar o pacote. Por exemplo, para instalar o Elmah.MVC pacote, insira:

    Install-Package Elmah.MVC
    

Para obter mais detalhes sobre esses comandos, consulte as seções Localizar um pacote e Instalar um pacote .

Dica

Muitas operações de console dependem de ter uma solução com um nome de caminho conhecido aberto no Visual Studio. Se você tiver uma solução não salva ou nenhuma solução, verá que a solução de erro não foi aberta ou não foi salva. Verifique se você tem uma solução aberta e salva. Para corrigir o erro, crie e salve uma solução ou salve uma solução não salva.

Controles de console

Para abrir o Console do Gerenciador de Pacotes no Visual Studio, selecione Ferramentas>Gerenciador de Pacotes NuGet>Console do Gerenciador de Pacotes no menu superior. O console é uma janela do Visual Studio que você pode organizar e posicionar conforme desejar. Para obter mais informações, consulte Personalizar layouts de janela no Visual Studio.

Por padrão, os comandos de console operam na origem do pacote e no projeto específicos mostrados nos controles na parte superior da janela:

Captura de tela que mostra os controles do Console do Gerenciador de Pacotes para a origem e o projeto do pacote.

Selecionar uma origem ou projeto de pacote diferente altera os padrões para comandos subsequentes. Para substituir essas configurações para comandos únicos sem alterar os padrões, a maioria dos comandos de console dá suporte às opções -Source e -ProjectName.

Para gerenciar fontes de pacote, selecione o ícone de engrenagem, que abre a caixa de diálogo >>Gerenciador de Pacotes NuGetFontes de Pacotes. O controle ao lado do seletor de projeto limpa o conteúdo do console.

Captura de tela que mostra as configurações do Console do Gerenciador de Pacotes e controles claros.

O botão à extrema direita interrompe um comando de longa execução. Por exemplo, a execução Get-Package -ListAvailable -PageSize 500 lista os 500 principais pacotes disponíveis na origem padrão, como nuget.org, o que pode levar vários minutos.

Captura de tela que mostra o controle de parada do Console do Gerenciador de Pacotes.

Localizar um pacote

Para localizar um pacote na origem padrão, use Find-Package.

  • Para localizar e listar pacotes que contêm determinadas palavras-chave:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Para localizar e listar pacotes cujo nome começa com uma cadeia de caracteres:

    Find-Package <string> -StartWith
    
  • Por padrão, Find-Package retorna uma lista de 20 pacotes. Use -First para mostrar mais pacotes. Por exemplo, para mostrar os primeiros 100 pacotes, use:

    Find-Package <keyword> -First 100
    
  • Para listar todas as versões de um determinado pacote:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Instalar um pacote

Para instalar um pacote no projeto padrão, use Install-Package <PackageName>. O comando do console Install-Package executa as seguintes ações:

  • Faz as etapas em O que acontece quando um pacote NuGet é instalado.
  • Exibe os termos de licença aplicáveis na janela do console com contrato implícito. Se você não concordar com os termos, desinstale o pacote.
  • Adiciona uma referência ao pacote no arquivo de projeto e no Gerenciador de Soluções no nó Referências . Você deve salvar o projeto antes de ver as alterações no arquivo de projeto.

Por padrão, Install-Package adiciona o pacote ao projeto padrão especificado pela janela do console. Para adicionar o pacote a um projeto que não é o padrão, use a opção -ProjectName . Por exemplo, para adicionar o Elmah.MVC pacote ao projeto não padrão UtilitiesLib , execute o seguinte comando:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Desinstalar um pacote

Para desinstalar um pacote do projeto padrão, use Uninstall-Package <PackageName>. Se você precisar encontrar o nome do pacote, use Get-Package para ver todos os pacotes instalados no projeto padrão.

Desinstalar-Pacote executa as seguintes ações:

  • Remove referências ao pacote do projeto e de qualquer formato de gerenciamento. As referências não aparecem mais no Gerenciador de Soluções. Talvez seja necessário recompilar o projeto para remover a referência na pasta bin .
  • Inverte as alterações feitas na instalação do pacote em app.config ou web.config.
  • Remove as dependências instaladas anteriormente se nenhum pacote restante usar essas dependências.

Para desinstalar um pacote e todas as suas dependências não utilizados, execute:

Uninstall-Package <PackageName> -RemoveDependencies

Para desinstalar um pacote, mesmo que outros pacotes dependam dele, execute:

Uninstall-Package <PackageName> -Force

Atualizar um pacote

Para atualizar um pacote, use Get-Package e Update-Package. Você pode executar os seguintes comandos:

  • Para verificar se há versões mais recentes disponíveis para pacotes instalados:

    Get-Package -updates
    
  • Para atualizar um pacote específico:

    Update-Package <PackageName>
    
  • Para atualizar todos os pacotes em um projeto:

    Update-Package -ProjectName <ProjectName>
    
  • Para atualizar todos os pacotes na solução:

    Update-Package
    

Usar a CLI do NuGet no console

Você também pode fazer a maioria das operações de console com a CLI do NuGet. No entanto, os comandos de console do PowerShell operam no contexto do projeto e da solução salvos do Visual Studio e geralmente fazem mais do que seus comandos equivalentes da CLI do NuGet. Por exemplo, instalar um pacote por meio de Install-Package adiciona uma referência ao arquivo de projeto, mas o comando da Interface de Linha de Comando do NuGet não. Por esse motivo, os desenvolvedores que trabalham no Visual Studio normalmente preferem usar os comandos do console em vez da CLI do NuGet.

Para usar comandos da CLI do NuGet no Console do Gerenciador de Pacotes, instale o pacote NuGet.CommandLine .

Install-Package NuGet.CommandLine

O comando anterior instala a versão mais recente da CLI do NuGet. Para instalar uma versão específica, use a opção -Version . Por exemplo, para instalar a versão 4.4.1, insira:

Install-Package NuGet.CommandLine -Version 4.4.1

Depois de instalar o NuGet.CommandLine pacote, você pode executar todos os comandos da CLI do NuGet por meio do Console do Gerenciador de Pacotes.

Estender o Console do Gerenciador de Pacotes

Alguns pacotes instalam novos comandos para o console. Por exemplo, MvcScaffolding cria comandos como Scaffold, que gera ASP.NET controladores e exibições do MVC:

Captura de tela que mostra os comandos da CLI do NuGet disponíveis após a instalação do pacote NuGet.CommandLine.

Configurar um perfil do PowerShell do NuGet

Você pode criar um perfil do PowerShell para disponibilizar seus comandos comumente usados em todos os contextos do PowerShell, para não perder as configurações do PowerShell entre as sessões. O NuGet dá suporte a um perfil específico do NuGet, geralmente em %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Para localizar o local do seu perfil de usuário, insira $profile no console:

$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

Para determinar se existe um perfil nesse local, insira test-path $profile. Se o comando retornar False, você precisará criar o perfil com o nome especificado nesse local. Para obter mais informações, consulte Perfis do Windows PowerShell.

Próximas etapas