Gerenciar dependências de pacote em aplicativos .NET
Este artigo explica como adicionar e remover dependências de pacote editando o arquivo de projeto ou usando a CLI.
O elemento <PackageReference>
O elemento <PackageReference>
de arquivo de projeto tem a seguinte estrutura:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />
O atributo Include
especifica a ID do pacote a ser adicionado ao projeto. O atributo Version
especifica a versão a ser obtida. As versões são especificadas de acordo com as Regras de versão do NuGet.
Use condições para adicionar uma dependência disponível somente em um destino específico, conforme é mostrado no seguinte exemplo:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
A dependência no exemplo anterior só será válida se o build estiver ocorrendo para esse destino determinado. O $(TargetFramework)
na condição é uma propriedade do MSBuild que está sendo definida no projeto. Para aplicativos .NET mais comuns, você não precisa fazer isso.
Adicionar e remover dependências
Você pode adicionar e remover dependências editando o arquivo de projeto ou por meio dos comandos da CLI do .NET.
Editar o arquivo de projeto
Para adicionar uma dependência, adicione um item <PackageReference>
dentro de um elemento <ItemGroup>
. Você pode adicioná-la a um <ItemGroup>
existente ou criar outro.
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
...
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
</ItemGroup>
</Project>
Para remover uma dependência, remova o item <PackageReference>
do arquivo de projeto.
Como usar a CLI
Para adicionar uma dependência, execute o comando dotnet add package, conforme mostrado no seguinte exemplo:
dotnet add package Microsoft.EntityFrameworkCore
Para remover uma dependência, execute o comando dotnet remove package, conforme mostrado no seguinte exemplo:
dotnet remove package Microsoft.EntityFrameworkCore
Dicas
Não inclua entradas para a operação de restauração no arquivo .targets ou .props de um pacote referenciado. Essas entradas podem incluir itens
PackageReference
, atributosExcludeAssets
, os feeds NuGet a serem usados ou outra configuração do NuGet. Os arquivos .targets e .props dos pacotes só são usados quando a restauração do NuGet é concluída. Qualquer item necessário para a restauração precisa estar no arquivo de projeto ou no arquivo .targets do próprio projeto, não em uma dependência de pacote.Caso deseje usar as APIs do ASP.NET em um aplicativo de console ou em uma biblioteca de classes, adicione um item FrameworkReference ao arquivo de projeto:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
Para obter mais informações, confira Usar a estrutura compartilhada do ASP.NET Core.