Partilhar via


Estrutura de trabalho alvo e plataforma alvo 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 diferentes TargetFrameworks como netstandard. Para obter mais informações, consulte Estruturas de destino.

Quadro e perfil de destino

Uma estrutura de destino é a versão específica do .NET Framework que 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 sejam mais suportadas pela Microsoft e algumas planejaram datas futuras além das quais não serão mais suportadas. Para obter as informações de suporte mais recentes, consulte .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 entre si na lista de assemblies que cada um disponibiliza para referência. Por exemplo, você não pode criar aplicativos do Windows Presentation Foundation (WPF), a menos que seu projeto tenha como alvo 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 para um projeto usando as páginas de propriedades do projeto no ambiente de desenvolvimento integrado (IDE) do Visual Studio. Para obter mais informações, consulte Como direcionar uma versão do .NET Framework. Os valores disponíveis para TargetFrameworkVersion são v2.0, v3.0, , v4.0, v3.5, v4.5.2v4.6, v4.6.1, v4.6.2, , v4.7, v4.7.1v4.7.2, e 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 aplicam-se apenas a bibliotecas de classes portáteis.

O perfil de TargetFrameworkProfile destino é especificado na 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 determinado ambiente de tempo de execução. Por exemplo

  • x86 designa um sistema operacional Windows de 32 bits que está sendo executado em um processador Intel 80x86 ou equivalente.
  • x64 designa um sistema operacional Windows de 64 bits que está sendo executado em um processador Intel x64 ou equivalente.
  • anycpu Designa a saída configurada para poder ser executada em qualquer plataforma. Seu aplicativo é executado como um processo de 64 bits sempre que possível e retorna para 32 bits quando apenas esse modo está disponível.
  • anycpu32bitpreferred Designa a saída que é executada em qualquer plataforma. Seu aplicativo é executado no modo de 32 bits em sistemas que suportam aplicativos de 64 bits e 32 bits.
  • Xbox designa a plataforma Microsoft Xbox 360.
  • ARM compila o assembly para ser executado em um computador que tenha um processador Advanced RISC Machine (ARM).
  • ARM64 compila o assembly para ser executado no CLR de 64 bits em um computador que tenha um processador Advanced RISC Machine (ARM) que suporte o 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 PlatformTarget propriedade 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 -platformde compilador C#. As opções da plataforma são explicadas com mais detalhes em 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 Configuration destino é especificada na propriedade 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>