Fluxo de trabalho de consumo do pacotePackage consumption workflow

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.Between nuget.org and private package galleries that your organization might establish, you can find tens of thousands of highly useful packages to use in your apps and services. Porém, independentemente da origem, consumir um pacote segue o mesmo fluxo de trabalho geral.But regardless of the source, consuming a package follows the same general workflow.

Fluxo de ir para uma origem de pacote, localizar um pacote, instalá-lo em um projeto, adicioná-lo usando uma instrução e chamá-lo para a API de pacote

*Apenas o Visual Studio e o dotnet.exe . O nuget install comando não modifica arquivos de projeto ou o packages.config arquivo; as entradas devem ser gerenciadas manualmente.* Visual Studio and dotnet.exe only. The nuget install command does not modify project files or the packages.config file; entries must be managed manually.

Para obter mais detalhes, confira Como localizar e escolher pacotes e O que acontece quando um pacote é instalado?.For further details, see Finding and Choosing Packages and What happens when a package is installed?.

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.NuGet remembers the identity and version number of each installed package, recording it in either the project file (using PackageReference) or packages.config, depending on project type and your version of 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.With NuGet 4.0+, PackageReference is preferred, although this is configurable in Visual Studio through the Package Manager UI. Em qualquer caso, você pode examinar o arquivo apropriado a qualquer momento para ver a lista completa das dependências para o seu projeto.In any case, you can look in the appropriate file at any time to see the full list of dependencies for your project.

Dica

É prudente sempre verificar a licença para cada pacote que você pretende usar no software.It's prudent to always check the license for each package you intend to use in your 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.On nuget.org, you find a License Info link on the right side of each package's description page. 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.If a package does not specify license terms, contact the package owner directly using the Contact owners link on the package page. 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.Microsoft does not license any intellectual property to you from third party package providers and is not responsible for information provided by third parties.

Ao instalar pacotes, o NuGet normalmente verifica se o pacote já está disponível em seu cache.When installing packages, NuGet typically checks if the package is already available from its cache. É possível limpar manualmente esse cache da linha de comando, conforme descrito em Como gerenciar as pastas de pacotes globais e de cache.You can manually clear this cache from the command line, as described on Managing the global packages and cache folders.

O NuGet também garante que as estruturas de destino com suporte no pacote sejam compatíveis com o seu projeto.NuGet also makes sure that the target frameworks supported by the package are compatible with your project. Se o pacote não contiver assemblies compatíveis, o NuGet exibirá um erro.If the package does not contain compatible assemblies, NuGet displays an error. Consulte Resolvendo erros de pacote incompatível.See Resolving incompatible package errors.

Ao adicionar o código do projeto a um repositório de origem, pacotes do NuGet geralmente não são incluídos.When adding project code to a source repository, you typically don't include NuGet packages. 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:Those who later clone the repository or otherwise acquire the project, including build agents on systems like Visual Studio Team Services, must restore the necessary packages prior to running a build:

Fluxo de restauração de pacotes do NuGet clonando um repositório e usando um comando de restauração

Restauração de pacote usa as informações no arquivo de projeto ou packages.config para reinstalar todas as dependências.Package Restore uses the information in the project file or packages.config to reinstall all dependencies. Observe que há diferenças no processo envolvido, conforme descrito em Resolução de dependências.Note that there are differences in the process involved, as described in Dependency Resolution. 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.Also, the diagram above does not show a restore command for the Package Manager Console because if you're with the Console you're already in the context of Visual Studio, which typically restores packages automatically and provides the solution-level command as shown.

Ocasionalmente, é necessário reinstalar pacotes que já estão incluídos em um projeto, o que também pode reinstalar as dependências.Occasionally it's necessary to reinstall packages that are already included in a project, which may also reinstall dependencies. É fácil fazer isso usando o comando nuget reinstall ou o Console do Gerenciador de Pacotes do NuGet.This is easy to do using the nuget reinstall command or the NuGet Package Manager Console. Para obter detalhes, consulte Reinstalando e atualizando pacotes.For details, see Reinstalling and Updating Packages.

Por fim, o comportamento do NuGet é orientado por arquivos Nuget.Config.Finally, NuGet's behavior is driven by Nuget.Config files. Vários arquivos podem ser usados para centralizar determinadas configurações em níveis diferentes, conforme explicado em Configurando o comportamento do NuGet.Multiple files can be used to centralize certain settings at different levels, as explained in Configuring NuGet Behavior.

Maneiras de instalar um pacote NuGetWays to install a NuGet Package

Os pacotes NuGet são baixados e instalados por meio de um dos métodos descritos na tabela a seguir.NuGet packages are downloaded and installed using any of the methods in the following table.

FerramentaTool PlataformasPlatforms DescriptionDescription
CLI do dotnetdotnet CLI TudoAll 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).CLI tool for .NET Core and .NET Standard libraries, and for SDK-style projects that target .NET Framework (see SDK attribute). Recupera o pacote identificado pelo <package_name> e adiciona uma referência ao arquivo de projeto.Retrieves the package identified by <package_name> and adds a reference to the project file. Além disso, recupera e instala as dependências.Also retrieves and installs dependencies.
Visual StudioVisual Studio Windows e MacWindows and Mac Fornece uma interface do usuário por meio da qual você pode procurar, selecionar e instalar pacotes e suas dependências em um projeto de uma origem de pacote especificada.Provides a UI through which you can browse, select, and install packages and their dependencies into a project from a specified package source. Adicione referências a pacotes instalados ao arquivo de projeto.Adds references to installed packages to the project file.
Console do Gerenciador de Pacotes (Visual Studio)Package Manager Console (Visual Studio) Somente WindowsWindows only Recupera e instala o pacote identificado por <package_name> de uma origem selecionada em um projeto especificado na solução e, em seguida, adiciona uma referência ao arquivo de projeto.Retrieves and installs the package identified by <package_name> from a selected source into a specified project in the solution, then adds a reference to the project file. Além disso, recupera e instala as dependências.Also retrieves and installs dependencies.
CLI do nuget.exenuget.exe CLI TudoAll Ferramenta CLI para bibliotecas do .NET Framework e projetos no estilo não SDK que se destinam a bibliotecas do .NET Standard.CLI tool for .NET Framework libraries and non-SDK-style projects that target .NET Standard libraries. Recupera o pacote identificado pelo <package_name> e expande seu conteúdo em uma pasta no diretório atual; também pode recuperar todos os pacotes listados em um packages.config arquivo.Retrieves the package identified by <package_name> and expands its contents into a folder in the current directory; can also retrieve all packages listed in a packages.config file. Também recupera e instala dependências, mas não altera arquivos de projeto ou packages.config.Also retrieves and installs dependencies, but makes no changes to project files or packages.config.