Direcione várias versões de framework e plataformas
Usando MSBuild, você pode compilar um aplicativo para ser executado em qualquer uma das várias versões do .NET Framework e em qualquer uma das várias plataformas do sistema. Por exemplo, você pode compilar um aplicativo para ser executado no .NET Framework 2.0 em uma plataforma de 32 bits e compilar o mesmo aplicativo para ser executado no .NET Framework 4.5 em uma plataforma de 64 bits.
Observação
Este artigo descreve um tipo mais antigo de multisegmentação que se aplica a compilações do .NET Framework nas quais um projeto pode direcionar apenas uma estrutura e apenas uma plataforma de cada vez. No âmbito do .NET Core e do .NET 5 e versões posteriores, pode utilizar um tipo mais recente de multitargeting ao usar a propriedade TargetFrameworks
(plural) num ficheiro de projeto. Quando você cria com comandos dotnet build
ou semelhantes da CLI do .NET, ou com o Visual Studio depois de recarregar o projeto, sua compilação usa o tipo mais recente de multitargeting, no qual várias compilações ocorrem, uma vez para cada estrutura de destino listada. Consulte Estruturas de destino.
Estas são algumas das características da segmentação do MSBuild:
Você pode desenvolver um aplicativo destinado a uma versão anterior do .NET Framework, por exemplo, versões 2.0, 3.5 ou 4.
Você pode direcionar uma estrutura diferente do .NET Framework, por exemplo, o Silverlight Framework.
Você pode direcionar um perfil de estrutura , que é um subconjunto predefinido de uma estrutura de destino.
Se for lançado um service pack para a versão atual do .NET Framework, poderá direcionar-se a ele.
A segmentação do MSBuild garante que um aplicativo use apenas a funcionalidade disponível na estrutura e na plataforma de destino.
Framework e plataforma de destino
Um framework de destino é a versão da .NET Framework em que um projeto é construído para ser executado, e uma plataforma de destino é a plataforma do sistema na qual o projeto é construído para ser executado. Por exemplo, talvez você queira direcionar um aplicativo .NET Framework 2.0 para ser executado 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 . Para obter mais informações, consulte Framework de destino e plataforma alvo.
Conjunto de ferramentas (ToolsVersion)
Um conjunto de ferramentas reúne as ferramentas, tarefas e destinos usados para criar o aplicativo. Um conjunto de ferramentas inclui compiladores como csc.exe e vbc.exe, o arquivo de destinos comuns (microsoft.common.targets) e o arquivo de tarefas comuns (microsoft.common.tasks). O conjunto de ferramentas 4.5 pode ser usado para direcionar .NET Framework nas versões 2.0, 3.0, 3.5, 4 e 4.5. No entanto, o conjunto de ferramentas 2.0 só pode ser usado para direcionar o .NET Framework versão 2.0. Para obter mais informações, consulte Conjunto de ferramentas (ToolsVersion).
Montagens de referência
Os assemblies de referência especificados no Conjunto de ferramentas ajudam a projetar e criar um aplicativo. Esses assemblies de referência não apenas habilitam uma compilação de destino específica, mas também restringem componentes e recursos no IDE do Visual Studio àqueles que são compatíveis com o destino. Para obter mais informações, consulte Resolução de assemblies em tempo de concepção.
Configurar destinos e tarefas
Você pode configurar destinos e tarefas do MSBuild para serem executados fora do processo com o MSBuild para que você possa direcionar contextos consideravelmente diferentes daquele em que você está sendo executado. Por exemplo, você pode direcionar um aplicativo .NET Framework 2.0 de 32 bits enquanto o computador de desenvolvimento está sendo executado em uma plataforma de 64 bits com o .NET Framework 4.5. Para obter mais informações, consulte Configurar destinos e tarefas.
Solução de problemas
Você pode encontrar erros se tentar fazer referência a um assembly que não faz parte do contexto de destino. Para obter mais informações sobre esses erros e o que fazer a respeito, consulte Solucionar problemas de erros de direcionamento do .NET Framework.