Instalar ferramentas de cliente do NuGet

Deseja instalar um pacote? Confira Maneiras de instalar pacotes NuGet.

Para trabalhar com o NuGet, como um consumidor ou criador de pacotes, você pode usar ferramentas de CLI (interface de linha de comando), bem como os recursos do NuGet no Visual Studio. Este artigo descreve brevemente os recursos das várias ferramentas, como instalá-las e uma comparação da disponibilidade de recursos.

Para começar a usar o NuGet para consumir pacotes, confira:

Para começar a criar pacotes NuGet, confira:

Ferramenta Descrição Baixar
dotnet.exe Ferramenta CLI para bibliotecas .NET Core e .NET Standard e qualquer projeto no estilo SDK, como aquele direcionado ao .NET Framework. Incluído com o SDK do .NET Core e fornece os principais recursos do NuGet em todas as plataformas. No Visual Studio 2017 em diante, a CLI do dotnet é instalada automaticamente com qualquer carga de trabalho relacionada ao .NET Core. SDK do .NET Core
nuget.exe Ferramenta de CLI para bibliotecas .NET Framework e para qualquer projeto de estilo não SDK, como um que tenha como destino bibliotecas .NET Standard. Fornece todos os recursos do NuGet no Windows e a maioria dos recursos no Mac e Linux quando executado em Mono. nuget.exe
Visual Studio No Windows, o Gerenciador de Pacotes NuGet está incluído no Visual Studio 2012 e posterior. O Visual Studio fornece a interface do usuário do Gerenciador de Pacotes e o Console do Gerenciador de Pacotes, por meio dos quais você pode executar a maioria das operações do NuGet. Visual Studio
Visual Studio para Mac No Mac, determinados recursos do NuGet são internos diretamente. O Console do Gerenciador de Pacotes não está disponível no momento. Para outros recursos, use as ferramentas da CLI dotnet.exe ou nuget.exe. Visual Studio para Mac
Visual Studio Code No Windows, Mac ou Linux, os recursos do NuGet estão disponíveis por meio de extensões do marketplace ou usam as ferramentas da dotnet.exe CLI ou nuget.exe . Visual Studio Code

A CLI do MSBuild também fornece a capacidade de restaurar e criar pacotes, que é útil principalmente em servidores de compilação. O MSBuild não é uma ferramenta para fins gerais para trabalhar com o NuGet.

Os comandos do Console do Gerenciador de Pacotes funcionam apenas dentro do Visual Studio no Windows e não em outros ambientes de PowerShell.

Visual Studio

Instalar no Visual Studio 2017 e mais recente

No Visual Studio 2017 em diante, o instalador inclui o Gerenciador de Pacotes NuGet com qualquer carga de trabalho que utilize o .NET. Para instalar separadamente ou verificar se o Gerenciador de Pacotes está instalado, execute o instalador do Visual Studio e verifique a opção em Ferramentas de código > de componentes individuais gerenciador de pacotes > NuGet.

Instalar no Visual Studio 2015 e anterior

As Extensões do NuGet para Visual Studio 2013 e 2015 podem ser baixadas do https://dist.nuget.org/index.html.

Para o Visual Studio 2010 e versões anteriores, instale a extensão "Gerenciador de Pacotes NuGet para Visual Studio". Observe que, se você não conseguir ver a extensão na primeira página de resultados da pesquisa, tente alterar a lista suspensa Classificar por para "A maioria dos downloads" ou uma classificação alfabética.

Ferramentas da CLI

Você pode usar a dotnet CLI ou a nuget.exe CLI para dar suporte a recursos do NuGet no IDE. A CLI dotnet é instalada com algumas cargas de trabalho do Visual Studio, como .NET Core. A CLI nuget.exe deve ser instalada separadamente, como descrito anteriormente.

As duas ferramentas da CLI do NuGet são dotnet.exe e nuget.exe. Confira disponibilidade de recursos para obter uma comparação.

  • Para direcionar para o .NET Core ou o .NET Standard, use a CLI do dotnet. A CLI dotnet é necessária para o formato de projeto no estilo do SDK, que usa o atributo do SDK.
  • Para definir o .NET Framework como destino (somente projeto no estilo não SDK), use a CLI nuget.exe. Se o projeto for migrado do packages.config para o PackageReference, use a CLI do dotnet.

CLI do dotnet.exe

A CLI do .NET Core 2.0, dotnet.exe, funciona em todas as plataformas (Windows, Mac e Linux) e fornece os principais recursos do NuGet, como instalação, restauração e publicação de pacotes. dotnet fornece integração direta com os arquivos de projeto do .NET Core (como .csproj), o que é útil na maioria dos cenários. dotnet também é compilado diretamente para cada plataforma, e não exige a instalação do Mono.

Instalação:

Para saber como usar comandos básicos com a CLI do dotnet, confira Instalar e usar pacotes usando a CLI do dotnet.

CLI do nuget.exe

A CLI do nuget.exe, nuget.exe, é o utilitário de linha de comando do Windows que fornece todas as funcionalidades do NuGet; ela também pode ser executada no Mac OSX e no Linux usando o Mono com algumas limitações.

Para saber como usar comandos básicos com a CLI do nuget.exe, confira Instalar e usar pacotes usando a CLI do nuget.exe.

Instalação:

Windows

Observação

O NuGet.exe 5.0 e posteriores exigem o .NET Framework 4.7.2 ou posterior para executar.

  1. Visite nuget.org/downloads e selecione NuGet 3.3 ou posterior (2.8.6 não é compatível com Mono). Sempre é recomendada a versão mais recente, e a 4.1.0+ é necessária para publicar pacotes em nuget.org.
  2. Cada download baixa diretamente o arquivo nuget.exe. Programe o browser para salvar o arquivo na pasta de sua escolha. O arquivo não é um instalador; nada ocorrerá se você executá-lo diretamente no browser.
  3. Adicione a pasta onde você colocou o nuget.exe à variável de ambiente PATH para usar a ferramenta CLI de qualquer local.

macOS/Linux

Os comportamentos podem variar levemente de acordo com a distribuição do sistema operacional.

  1. Instale o Mono 4.4.2 ou posterior.

  2. Execute o seguinte comando em um prompt do shell:

    # Download the latest stable `nuget.exe` to `/usr/local/bin`
    sudo curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
    
  3. Crie um alias adicionando o script a seguir ao arquivo apropriado ou ao seu sistema operacional (normalmente ~/.bash_aliases ou ~/.bash_profile):

    # Create as alias for nuget
    alias nuget="mono /usr/local/bin/nuget.exe"
    
  4. Recarregue o shell. Teste a instalação inserindo nuget sem parâmetros. A ajuda da CLI do NuGet deve ser exibida.

Dica

Use nuget update -self no Windows para atualizar o nuget.exe existente para a versão mais recente.

Observação

A CLI do NuGet mais recente recomendada está sempre disponível em https://dist.nuget.org/win-x86-commandline/latest/nuget.exe. Para fins de compatibilidade com sistemas de integração contínua mais antigos, uma URL anterior, https://nuget.org/nuget.exe atualmente fornece a ferramenta de CLI 2.8.6 preterida.

Disponibilidade de recursos

Recurso CLI do dotnet CLI do nuget (Windows) CLI do nuget (Mono) Visual Studio (Windows) Visual Studio para Mac
Pesquisar pacotes
Instalar/desinstalar pacotes ✔ (1)
Atualizar pacotes
Restaurar pacotes ✔ (2)
Gerenciar feeds de pacote (origens)
Gerenciar pacotes em um feed
Definir chaves de API para feeds
Criar pacotes(3) ✔ (4)
Publicar pacotes
Replicar pacotes
Gerenciar global-package e pastas de cache
Gerenciar a configuração do NuGet

(1) Não afeta os arquivos de projeto; em vez disso, use dotnet.exe.

(2) Funciona somente com o arquivo packages.config e não com os arquivos de solução (.sln).

(3) Vários recursos avançados de pacote são disponibilizados por meio da CLI apenas quando não são representados nas ferramentas de interface do usuário do Visual Studio.

(4) Funciona com arquivos .nuspec, mas não com arquivos de projeto.

Recursos futuros

Se você quiser visualizar os próximos recursos do NuGet, instale um Visual Studio Preview, que funciona lado a lado com versões estáveis do Visual Studio. Para relatar problemas ou compartilhar ideias para versões prévias, abra um problema no repositório GitHub do NuGet.

Os desenvolvedores que trabalham no Windows também podem explorar o Explorador de Pacotes NuGet, uma ferramenta autônoma e de software livre para explorar, criar e editar visualmente os pacotes NuGet. Por exemplo, é muito útil fazer alterações experimentais em uma estrutura de pacote sem recompilar o pacote.