web-dev-qa-db-fra.com

Pourquoi la case à cocher «Préférer 32 bits» est-elle désactivée dans Visual Studio 2012?

Je suis tombé sur une situation dans laquelle je voudrais définir la préférence 32 bits sur true. Mais dans Visual Studio 2012, il s'affiche comme désactivé. Et peu importe ce que je fais, il n'est pas activé.

J'ai lu que N'importe quel CPU avec Préfère 32 bits est la valeur par défaut pour tous les nouveaux projets. Alors, dois-je supposer que même s'il est désactivé, il est défini sur true? Alors, comment pouvez-vous le définir comme juste N'importe quel CPU?

Dans ce que AnyCPU signifie vraiment comme .NET 4.5 et Visual Studio 11 et dans de nombreux autres messages et questions ici dans Stack Overflow, il est dit:

dans l'ensemble, il existe maintenant cinq options pour le commutateur du compilateur/platform C #: x86, Itanium, x64, anycpu et anycpu 32 bits préférés

De plus, j'ai quelques collègues qui m'ont mentionné que dans le passé cette case à cocher était activée (peut-être qu'ils ont tort?).

Pourquoi la case Préférer 32 bits est-elle désactivée, et comment puis-je la réactiver?

Mon processeur est 64 bits et j'ai appliqué la mise à jour2 à Visual Studio 2012.

37
Dzyann

En supposant que vous avez un projet exécutable, si vous changez votre plate-forme cible en .NET 4.5, il devrait devenir activé.

C'est une chose uniquement en .NET 4.5, et elle n'est activée que pour les exécutables.

47
Matthew Watson

Dans le cas où quelqu'un rencontre cela pour un exécutable .NET 4.5 dans Visual Studio 2013 (et éventuellement Visual Studio 2012):

Nous l'avons résolu en basculant le projet vers .NET 4.0, puis en arrière .NET 4.5 (sous l'onglet Générer des propriétés du projet). Cela a réactivé la case à cocher "Préférer 32 bits" pour AnyCPU.

4
Ron Deijkers

Ce paramètre peut également être désactivé si votre projet est un projet de test unitaire. Il s'avère que le réglage n'était pas mon problème de toute façon. J'ai exécuté des tests en modifiant le programme de test de Visual Studio pour exécuter des tests en tant que processus 64 bits.

Dans Visual Studio Community 2015, j'ai trouvé cela dans le menu Test:
Test> Paramètres de test> Architecture de processeur par défaut> X64

Voici plus d'informations de Microsoft:
https://msdn.Microsoft.com/en-us/library/ee782531.aspx

2
NJS