Configuração de compilação: Plataforma mista VS Qualquer CPU

92

Qual é a diferença entre diferentes, Build Configuration settingspor exemplo, Qualquer CPU, Plataforma mista, WIN32 etc no Visual Studio.

Rohit
fonte

Respostas:

42

Aqui está um link que ajuda a explicar a configuração de compilação encontrada no Visual Studio e seus arquivos de compilação:

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

Basicamente, a configuração indica em qual plataforma a montagem pode ser executada. Quando AnyCPU é selecionado, a DLL resultante é marcada como capaz de ser executada em qualquer lugar; quando x86 é selecionado, a DLL resultante é marcada como apenas capaz de ser executada em sistemas de 32 bits e não será executada em aplicativos ou processos de 64 bits (mas será executada em Windows de 64 bits;) e assim por diante.

Isso apenas define sinalizadores na DLL compilada - não muda outros aspectos do processo de compilação.

Porusan
fonte
1
Além disso, verifique este link sobre interações de arquivo de solução: social.msdn.microsoft.com/forums/vstudio/en-US/…
J. Polfer
48
No entanto, isso não parece explicar as "plataformas mistas".
Ameaça
2
@Menace Meu entendimento (de uma referência perdida) é que quando você abre uma solução em que todos os projetos não têm a mesma configuração, o Visual Studio mostra / escolhe a configuração da solução como Plataformas Mistas. (Se eu conseguir encontrar a referência original, vou corrigir isso com uma citação.)
koan911
8
O link visualstudiohacks.com/articles/… está morto.
AH.
40

Como outra plataforma já explicada. (ou seja, X86 para 32 bits, x64 é apenas para 64 bits e 'Qualquer CPU' pode ser executado em ambos). Vou me concentrar em Mixed Platformcomo isso é diferente deAny CPU .

A Any CPUconfiguração está no nível do projeto, onde, como na solução do mundo real, temos vários projetos em uma solução, e há chances de que alguns do meu projeto usem Any CPU, mas outros usem o x86oux64 plataforma build.

Portanto, no nível da solução automaticamente Mixed Platformserá selecionado. isso indica que durante a solução Build / Rebuild cada projeto é construído com base na plataforma selecionada.

Neha Jain
fonte
17

Os nomes de configuração de construção não significam muito - eles proliferam se você tiver projetos C ++ e C # na mesma solução (e ainda pior se você tiver projetos móveis também), porque os vários tipos de projetos usam nomes de configuração diferentes, então você termina com muitos deles.

Tentamos continuar excluindo todas as configurações que não estamos usando, mas isso é um trabalho árduo às vezes, pois quando você adiciona um novo projeto, configurações indesejadas serão adicionadas de volta à solução.

Minhas recomendações são decidir sobre quais configurações você precisa (observando as configurações reais dentro delas) e, em seguida, remover todo o resto.

Will Dean
fonte
10

De: esta postagem. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

Quando todos os projetos em uma solução são do mesmo tipo (por exemplo, projetos C # / VB), as configurações da solução corresponderão exatamente às configurações do projeto. Assim que você tiver projetos em uma solução com configurações / plataformas incompatíveis, o Visual Studio cria as configurações de nível de solução "Plataformas mistas / depuração" e possivelmente "Plataformas mistas / versão". Essas configurações são apenas mapeamentos para configurações de nível de projeto individuais.

Por exemplo, se você tiver um projeto C # e um projeto C ++, normalmente "Mixed Platforms / Debug" será mapeado para "Any CPU / Debug" para o projeto C # e "Win32 / Debug" para o projeto C ++.

GilesDMiddleton
fonte