Compartilhar via


Organize seu projeto para dar suporte ao .NET Framework e ao .NET

Você pode criar uma solução compilada para .NET Framework e .NET lado a lado. Este artigo aborda várias opções de organização do projeto para ajudá-lo a atingir essa meta. Aqui estão alguns cenários típicos a serem considerados quando você está decidindo como configurar o layout do projeto com o .NET. A lista pode não abranger tudo o que você deseja.

  • Combinar projetos existentes e projetos do .NET em um único projeto

    Benefícios:

    • Simplifica o processo de compilação compilando um único projeto em vez de vários projetos destinados a uma versão ou plataforma do .NET Framework diferente.
    • Simplifica o gerenciamento de arquivos de origem para projetos de vários destinos porque você deve gerenciar um único arquivo de projeto. Ao adicionar ou remover arquivos de origem, as alternativas exigem que você sincronize manualmente esses arquivos com seus outros projetos.
    • Gere facilmente um pacote NuGet para consumo.
    • Permite que você escreva código para uma versão específica do .NET Framework usando diretivas do compilador.

    Desvantagem:

  • Manter todos os projetos separados

    Benefícios:

    • Dá suporte ao desenvolvimento em projetos existentes para desenvolvedores e colaboradores que podem não ter o Visual Studio 2019 ou uma versão posterior.
    • Reduz a possibilidade de criar novos bugs em projetos existentes porque nenhuma variação de código é necessária nesses projetos.

Considere este repositório GitHub de exemplo. A figura a seguir mostra como esse repositório é apresentado:

Diagrama de estrutura de projeto existente

As seções a seguir descrevem várias maneiras de adicionar suporte ao .NET com base no repositório de exemplo.

Substituir projetos existentes por um projeto .NET de vários destinos

Reorganizar o repositório para que todos os arquivos *.csproj existentes sejam removidos e um único arquivo *.csproj seja criado com destino a várias estruturas. Essa é uma ótima opção, pois um único projeto pode ser compilado para estruturas diferentes. Ele também tem o poder de lidar com diferentes opções de compilação e dependências por estrutura de destino.

projeto que tem como destino o diagrama de várias estruturas

Para obter o código de exemplo, consulte o GitHub.

As alterações a serem observadas são:

  • Substituição de packages.config e *.csproj por um novo .NET *.csproj. Os pacotes NuGet são especificados com <PackageReference> ItemGroup.

Manter projetos existentes e criar um projeto .NET

Se houver projetos existentes destinados a estruturas mais antigas, talvez você queira deixar esses projetos intocados e usar um projeto .NET para direcionar estruturas futuras.

Projeto .NET com projetos existentes em um diagrama de pasta diferente

Para obter o código de exemplo, consulte o GitHub.

O .NET e os projetos existentes são mantidos em pastas separadas. Manter projetos em pastas separadas evita forçar você a ter o Visual Studio 2019 ou versões posteriores. Você pode criar uma solução separada que só abre os projetos antigos.

Consulte também