Fluxo de trabalho de consumo do pacote

Entre o nuget.org e galerias de pacotes privadas que sua organização pode estabelecer, você pode encontrar dezenas de milhares de pacotes extremamente úteis para usar em seus aplicativos e serviços. Porém, independentemente da origem, consumir um pacote segue o mesmo fluxo de trabalho geral.

Flow of going to a package source, finding a package, installing it in a project, then adding a using statement and calls to the package API

* Visual Studio e dotnet.exe somente. O nuget install comando não modifica os arquivos de projeto ou o arquivo; as packages.config entradas devem ser gerenciadas manualmente.

Para obter mais detalhes, confira Como localizar e escolher pacotes e O que acontece quando um pacote é instalado?.

O NuGet lembra da identidade e do número de versão de cada pacote instalado, gravando-os no arquivo de projeto (usando PackageReference) ou packages.config, dependendo do tipo de projeto e da sua versão do NuGet. Com o NuGet 4.0 e posterior, é preferível usar PackageReference, embora isso seja configurável no Visual Studio por meio da interface do usuário do Gerenciador de Pacotes. Em qualquer caso, você pode examinar o arquivo apropriado a qualquer momento para ver a lista completa das dependências para o seu projeto.

Dica

É prudente sempre verificar a licença para cada pacote que você pretende usar no software. Em nuget.org, você encontra um link Informações de licença do lado direito da página de descrição de cada pacote. Se um pacote não especificar os termos de licença, entre em contato com o proprietário do pacote diretamente usando o link Contatar os proprietários na página do pacote. A Microsoft não licencia nenhuma propriedade intelectual para você de provedores de pacotes de terceiros, nem é responsável pelas informações fornecidas por terceiros.

Ao instalar pacotes, o NuGet normalmente verifica se o pacote já está disponível em seu cache. É possível limpar manualmente esse cache da linha de comando, conforme descrito em Como gerenciar as pastas de pacotes globais e de cache.

O NuGet também garante que as estruturas de destino com suporte no pacote sejam compatíveis com o seu projeto. Se o pacote não contiver assemblies compatíveis, o NuGet exibirá um erro. Consulte Resolvendo erros de pacote incompatível.

Ao adicionar o código do projeto a um repositório de origem, pacotes do NuGet geralmente não são incluídos. Mais tarde, aqueles que clonarem o repositório ou adquirirem o projeto de outra forma, incluindo os agentes de build em sistemas como o Visual Studio Team Services, precisarão restaurar os pacotes necessários antes de executar um build:

Flow of restoring NuGet packages by cloning a repository and using either a restore command

Restauração de pacote usa as informações no arquivo de projeto ou packages.config para reinstalar todas as dependências. Observe que há diferenças no processo envolvido, conforme descrito em Resolução de dependências. Além disso, o diagrama acima não mostra um comando de restauração para o Console do Gerenciador de Pacotes porque estar no Console significa também já estar no contexto do Visual Studio, o que normalmente restaura pacotes de modo automático e fornece o comando no nível da solução, conforme mostrado.

Ocasionalmente, é necessário reinstalar pacotes que já estão incluídos em um projeto, o que também pode reinstalar as dependências. É fácil fazer isso usando o comando nuget reinstall ou o Console do Gerenciador de Pacotes do NuGet. Para obter detalhes, consulte Reinstalando e atualizando pacotes.

Por fim, o comportamento do NuGet é orientado por arquivos NuGet.Config. Vários arquivos podem ser usados para centralizar determinadas configurações em níveis diferentes, conforme explicado em Configurando o comportamento do NuGet.

Maneiras de instalar um pacote NuGet

Os pacotes NuGet são baixados e instalados por meio de um dos métodos descritos na tabela a seguir.

Ferramenta Plataformas Descrição
CLI do dotnet Tudo Ferramenta CLI para bibliotecas .NET Core e .NET Standard, em projetos no estilo SDK que se destinam ao .NET Framework (confira o atributo do SDK). Recupera o pacote identificado por <package_name> e adiciona uma referência ao arquivo de projeto. Além disso, recupera e instala as dependências.
Visual Studio Windows e Mac Fornece uma interface do usuário por meio da qual você pode navegar, selecionar e instalar pacotes e suas dependências em um projeto de uma fonte de pacote especificada. Adicione referências a pacotes instalados ao arquivo de projeto.
Console do Gerenciador de Pacotes (Visual Studio) Somente Windows Recupera e instala o pacote identificado por <package_name> de uma origem selecionada em um projeto especificado na solução e adiciona uma referência ao arquivo de projeto. Além disso, recupera e instala as dependências.
CLI do nuget.exe Tudo Ferramenta CLI para bibliotecas do .NET Framework e projetos no estilo não SDK que se destinam a bibliotecas do .NET Standard. Recupera o pacote identificado por <package_name> e expande seu conteúdo em uma pasta no diretório atual; também pode recuperar todos os pacotes listados em um arquivo packages.config. Também recupera e instala dependências, mas não altera arquivos de projeto ou packages.config.