Configuration de construction: plate-forme mixte VS tout processeur

92

Quelle est la différence entre différents, Build Configuration settingspar exemple tout processeur, plate-forme mixte, WIN32, etc. dans Visual Studio.

Rohit
la source

Réponses:

42

Voici un lien qui explique le paramètre de configuration de build trouvé dans Visual Studio et ses fichiers de build:

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

Fondamentalement, le paramètre indique sur quelle plate-forme l'assemblage peut s'exécuter. Lorsque AnyCPU est sélectionné, la DLL résultante est marquée comme pouvant s'exécuter n'importe où; lorsque x86 est sélectionné, la DLL résultante est marquée comme ne pouvant s'exécuter que sur des systèmes 32 bits et ne fonctionnera pas dans les applications ou processus 64 bits (mais fonctionnera sous Windows 64 bits;) et ainsi de suite.

Cela ne fait que définir des indicateurs sur la DLL compilée - cela ne change pas du tout les autres aspects du processus de compilation.

Porusan
la source
1
Consultez également ce lien sur les interactions des fichiers de solution: social.msdn.microsoft.com/forums/vstudio/en-US/…
J. Polfer
48
Cela ne semble cependant pas expliquer les "plates-formes mixtes".
Menace
2
@Menace Ma compréhension (à partir d'une référence perdue) est que lorsque vous ouvrez une solution dans laquelle tous les projets n'ont pas la même configuration, Visual Studio affiche / choisit la configuration de la solution en tant que plates-formes mixtes. (Si je peux trouver la référence originale, je la modifierai avec une citation.)
koan911
8
Le lien visualstudiohacks.com/articles/… est mort.
AH.
40

Comme autre plate-forme déjà expliqué. (c'est-à-dire X86 pour 32 bits, x64 est pour 64 bits uniquement, et «N'importe quel processeur» peut fonctionner dans les deux). Je vais me concentrer sur Mixed Platformet comment cela diffère de Any CPU.

Le Any CPUparamètre est au niveau du projet, où, comme dans la solution du monde réel, nous avons un certain nombre de projets sous une seule solution, et il y a des chances que certains de mes projets utilisent Any CPU, mais d'autres utilisent la plate-forme x86ou x64build.

Donc, au niveau de la solution Mixed Platformsera automatiquement sélectionné. cela indique que pendant la solution Build / Rebuild, chaque projet construit en fonction de sa plate-forme sélectionnée.

Neha Jain
la source
17

Les noms de configuration de build ne signifient pas grand-chose - ils prolifèrent si vous avez des projets C ++ et C # dans la même solution (et pire encore si vous avez des projets mobiles aussi), car les différents types de projets utilisent des noms de configuration différents, donc vous terminez avec beaucoup d'entre eux.

Nous essayons de continuer à supprimer toutes les configurations que nous n'utilisons pas, mais c'est un travail difficile parfois aussi souvent que lorsque vous ajoutez un nouveau projet, les configurations indésirables seront ajoutées à la solution.

Mes recommandations sont de décider des configurations dont vous avez besoin (en examinant les paramètres réels qu'elles contiennent), puis de supprimer tout le reste.

Will Dean
la source
10

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

Lorsque tous les projets d'une solution sont du même type (par exemple, les projets C # / VB), les configurations de la solution correspondent exactement aux configurations du projet. Une fois que vous avez des projets dans une solution qui ont des configurations / plates-formes incompatibles, Visual Studio crée la ou les configurations au niveau de la solution «Plateformes mixtes / Débogage» et éventuellement «Plateformes mixtes / version». Ces configurations ne sont que des mappages à des configurations de niveau projet individuelles.

Par exemple, si vous avez un projet C # et un projet C ++, généralement «Plateformes mixtes / débogage» correspondra à «Tout processeur / débogage» pour le projet C # et «Win32 / Debug» pour le projet C ++.

GilesDMiddleton
la source