Compartilhar via


Estrutura de destino e plataforma de destino do MSBuild

Um projeto pode ser criado para ser executado em uma estrutura de destino, que é uma versão específica do .NET Framework e uma plataforma de destino, que é uma arquitetura de software específica. Por exemplo, você pode direcionar um aplicativo para ser executado no .NET Framework 2.0 em uma plataforma de 32 bits compatível com a família de processadores 80x86 ("x86"). A combinação da estrutura de destino e da plataforma de destino é conhecida como o contexto de destino .

Importante

Este artigo mostra a maneira antiga de especificar uma estrutura de destino. Projetos no estilo SDK habilitam targetFrameworks diferente, como o netstandard. Para obter mais informações, consulte as estruturas de destino.

Estrutura e perfil de destino

Uma estrutura de destino é a versão específica do .NET Framework na qual seu projeto foi criado para ser executado. A especificação de uma estrutura de destino é necessária porque permite recursos do compilador e referências de assembly que são exclusivas para essa versão da estrutura.

Atualmente, as seguintes versões do .NET Framework estão disponíveis para uso, embora algumas não tenham mais suporte da Microsoft e algumas tenham datas futuras planejadas além das quais não terão mais suporte. Para obter as informações de suporte mais recentes, consulte o .NET Framework:

  • O .NET Framework 2.0 (incluído no Visual Studio 2005)

  • O .NET Framework 3.0 (incluído no Windows Vista)

  • O .NET Framework 3.5 (incluído no Visual Studio 2008)

  • O .NET Framework 4.0

  • O .NET Framework 4.5.2

  • O .NET Framework 4.6 (incluído no Visual Studio 2015)

  • O .NET Framework 4.6.1

  • O .NET Framework 4.6.2

  • O .NET Framework 4.7

  • O .NET Framework 4.7.1

  • O .NET Framework 4.7.2

  • O .NET Framework 4.8

As versões do .NET Framework diferem umas das outras na lista de assemblies que cada um disponibiliza para referência. Por exemplo, você não pode criar aplicativos do WPF (Windows Presentation Foundation), a menos que seu projeto tenha como destino o .NET Framework versão 3.0 ou superior.

A estrutura de destino é especificada na TargetFrameworkVersion propriedade no arquivo de projeto. Você pode alterar a estrutura de destino de um projeto usando as páginas de propriedades do projeto no IDE (ambiente de desenvolvimento integrado) do Visual Studio. Para obter mais informações, consulte Como direcionar uma versão do .NET Framework. Os valores disponíveis são TargetFrameworkVersionv2.0, , v3.0, v4.0, v3.5, v4.5.2, , v4.6, v4.6.1, , v4.6.2, , v4.7, , v4.7.1, , v4.7.2e v4.8.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Um perfil de destino é um subconjunto de uma estrutura de destino. Por exemplo, o perfil de cliente do .NET Framework 4 não inclui referências aos assemblies do MSBuild.

Observação

Os perfis de destino se aplicam somente a bibliotecas de classes portáteis.

O perfil de destino é especificado na TargetFrameworkProfile propriedade em um arquivo de projeto. Você pode alterar o perfil de destino usando o controle de estrutura de destino nas páginas de propriedades do projeto no IDE.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

Plataforma de destino

Uma plataforma é uma combinação de hardware e software que define um ambiente de runtime específico. Por exemplo

  • x86 designa um sistema operacional Windows de 32 bits que está em execução em um processador Intel 80x86 ou seu equivalente.
  • x64 designa um sistema operacional Windows de 64 bits em execução em um processador Intel x64 ou seu equivalente.
  • anycpu designa a saída configurada para ser executada em qualquer plataforma. Seu aplicativo será executado como um processo de 64 bits sempre que possível e realizará fallback para 32 bits quando apenas esse modo estiver disponível.
  • anycpu32bitpreferred designa a saída que é executada em qualquer plataforma. Seu aplicativo é executado no modo 32 bits em sistemas que dão suporte para aplicativos de 32 bits e 64 bits.
  • Xbox designa a plataforma Microsoft Xbox 360.
  • ARM compila o assembly a ser executado em um computador com um processador ARM (Advanced RISC Machine).
  • ARM64 compila o assembly a ser executado no CLR de 64 bits em um computador que tem um processador ARM (Advanced RISC Machine) que dá suporte ao conjunto de instruções A64.

Uma plataforma de destino é a plataforma específica na qual seu projeto foi criado para ser executado. A plataforma de destino é especificada na propriedade de PlatformTarget build em um arquivo de projeto. Você pode alterar a plataforma de destino usando as páginas de propriedades do projeto ou o Configuration Manager no IDE.

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

O PlatformTarget valor é passado para o compilador para determinar qual saída deve ser gerada. Para projetos C#, ele mapeia para a opção do compilador C# -platform. As opções da plataforma são explicadas com mais detalhes nas opções do Compilador: PlatformTarget.

Uma configuração de destino é um subconjunto de uma plataforma de destino. Por exemplo, a configuração não inclui a x86Debug maioria das otimizações de código. A configuração de destino é especificada na propriedade de Configuration build em um arquivo de projeto. Você pode alterar a configuração de destino usando as páginas de propriedades do projeto ou o Configuration Manager.

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
   <Configuration>Debug</Configuration>
</PropertyGroup>