Gerir dependências em aplicações .NET

Este artigo explica como adicionar e remover dependências de pacotes, projetos e assemblagens.

Adicionar e remover dependências de pacotes

Você pode adicionar e remover dependências editando seu arquivo de projeto ou por meio de comandos da CLI do .NET .

Utilizar a CLI

Para adicionar uma dependência, execute o dotnet package comando para a versão do seu SDK:

dotnet package add Microsoft.EntityFrameworkCore

Para remover uma dependência, execute o dotnet package comando para a versão do seu SDK:

dotnet package remove Microsoft.EntityFrameworkCore

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>

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) na condição é uma propriedade do MSBuild que é definida no projeto. Para os aplicativos .NET mais comuns, você não precisa fazer isso.

Para remover uma dependência, remova seu <PackageReference> item do arquivo de projeto.

Para mais informações sobre o PackageReference item, consulte a referência MSBuild para projetos .NET SDK.

Adicionar e remover referências de projetos

Use uma referência projeto para projeto quando o seu projeto depender de outro projeto. Para adicionar e remover referências de projetos, edite o ficheiro do projeto ou use a linha de código.

Utilizar a CLI

Para adicionar uma referência de projeto, execute o dotnet reference comando para a versão do seu SDK.

dotnet reference add ../MyLibrary/MyLibrary.csproj

Para remover uma referência de projeto, execute o seguinte comando para a versão do seu SDK:

dotnet reference remove ../MyLibrary/MyLibrary.csproj

Editar o arquivo de projeto

O <ProjectReference> elemento do ficheiro do projeto identifica o caminho para o projeto referenciado. Para adicionar uma referência de projeto, adicione um <ProjectReference> item dentro de um <ItemGroup> elemento. Você pode adicionar a um existente <ItemGroup> ou criar um novo.

<ItemGroup>
  <ProjectReference Include="../MyLibrary/MyLibrary.csproj" />
</ItemGroup>

Para remover uma referência de projeto, remova o <ProjectReference> elemento do ficheiro do projeto.

Para mais informações sobre o ProjectReference item, consulte os itens comuns do projeto MSBuild.

Adicionar e remover referências de montagem

Podes adicionar e remover referências de assembly através do ficheiro do projeto. A CLI .NET não fornece comandos para adicionar ou remover referências de assembly.

Para referenciar um assembly .NET que não faça parte de um projeto ou pacote, adicione um <Reference> elemento ao ficheiro do projeto. Use o <HintPath> elemento para especificar o caminho relativo ou absoluto até à montagem:

<ItemGroup>
  <Reference Include="MyAssembly">
    <HintPath>lib/MyAssembly.dll</HintPath>
  </Reference>
</ItemGroup>

Para remover uma referência de conjunto, remova o elemento <Reference> correspondente do ficheiro do projeto.

Para mais informações sobre o Reference item, consulte os itens comuns do projeto MSBuild.

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.

Ver também