Gerenciar dependências de pacotes 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 <PackageReference>
elemento do arquivo de projeto tem a seguinte estrutura:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />
O Include
atributo especifica a ID do pacote a ser adicionado ao projeto. O Version
atributo 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 apenas em um destino específico, conforme mostrado no exemplo a seguir:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
A dependência no exemplo anterior só será válida se a compilação estiver acontecendo para esse destino determinado. A $(TargetFramework)
condição in é uma propriedade MSBuild que está sendo definida no projeto. Para os aplicativos .NET mais comuns, você não precisa fazer isso.
Adicionar e remover dependências
Você pode adicionar e remover dependências editando seu arquivo de projeto ou por meio de comandos da CLI do .NET.
Editar o arquivo de projeto
Para adicionar uma dependência, adicione um <PackageReference>
item dentro de um <ItemGroup>
elemento . Você pode adicionar a um existente <ItemGroup>
ou criar um novo.
<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 seu <PackageReference>
item do arquivo de projeto.
Utilizar a CLI
Para adicionar uma dependência, execute o dotnet add package comando, conforme mostrado no exemplo a seguir:
dotnet add package Microsoft.EntityFrameworkCore
Para remover uma dependência, execute o dotnet remove package comando, conforme mostrado no exemplo a seguir:
dotnet remove package Microsoft.EntityFrameworkCore
Sugestões
Não inclua entradas para a operação de restauração no arquivo .targets ou .props de um pacote referenciado. Essas entradas podem incluir
PackageReference
itens,ExcludeAssets
atributos, os feeds do NuGet a serem usados ou outra configuração do NuGet. Os arquivos .targets e .props dos pacotes não são usados até que a restauração do NuGet seja concluída. Qualquer coisa necessária 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.Se você quiser usar APIs de ASP.NET em um aplicativo de console ou biblioteca de classes, adicione um item FrameworkReference ao seu arquivo de projeto:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
Para obter mais informações, consulte Usar a estrutura compartilhada do ASP.NET Core.