7
votes

Visual Studio 2008 Propriétés du projet Construire des options manquantes de la configuration

J'ai un problème étrange et j'espère que quelqu'un peut m'aider.

J'ai une solution avec 13 projets C # distincts. J'utilise Vista X64 pour développer, et j'aimerais construire ces projets pour cibler la plate-forme X86. Ceci est normalement assez facile. Je peux aller à Propriétés de la solution -> Propriétés de la configuration et modifier la plate-forme vers X86. La partie étrange ici est que 3 de mes projets refusent de me permettre de sélectionner X86.

Alors, je pensais aller à chacun de ces 3 projets séparément et la modifier dans les propriétés du projet-> Créez et changez la plate-forme. Et les déposées de configuration et de plate-forme ne sont pas là pour ces projets. J'ai un peu googlé autour d'un peu et j'ai trouvé un paramètre dans Outils-> Options-> Projets et solutions-> Afficher la configuration de construction avancée. Après avoir sélectionné cela, lorsque vous allez projeter des propriétés pour les projets incriminés, je vois maintenant les deux dérivations, mais la plate-forme ne me permet que de sélectionner actif (n'importe quel processeur).

Je ne peux pas non plus modifier la plate-forme dans les propriétés de la solution sur X86 pour ces projets.

Des idées?


0 commentaires

4 Réponses :


0
votes

Je comparerais le contenu textuel des fichiers CSPROJ pour voir s'il existe un paramètre qui est tombé ou par accident. Vérifiez également le contenu du SLN, peut-être qu'il y a quelque chose de bizarre avec les configurations.

Cordialement,

Sebastiaan


1 commentaires

Merci pour la réponse. J'ai passé du temps à faire cela, et je suis allé aussi loin que de créer un nouveau projet et de copier les fichiers source d'un dans le nouveau. Le nouveau projet a fonctionné comme il le devrait. La perspective de changer l'un des projets plus importants, cependant, était décourageant pour dire le moins ...



2
votes

Je développe également sur x64 et déployer sur x86. Cependant, je ne change pas la plate-forme de la valeur par défaut (n'importe quel processeur) et cela fonctionne pour moi juste bien. Avez-vous un code (tel que Win Interop) qui fonctionne différemment sur toutes les plateformes? Consultez Cet article de Hanselman Pour plus de détails sur le ciblage de 32/64 bits. < / p>


1 commentaires

Salut, merci pour la réponse. Malheureusement, j'ai besoin d'interagir avec des interopes 32 bits, d'où la nécessité de compiler jusqu'à x86. Je pense qu'il peut y avoir un problème avec le lien que vous avez fourni. Je serais intéressé de le lire.



12
votes

On dirait que les configurations de construction sont devenues vissues. Les trois projets ont probablement été ajoutés après la configuration de la solution pour avoir une prise en charge de X86 (de nouveaux projets ne prennent en charge que TYCPU, même si la solution prend en charge plus de plates-formes.)

  • Go Building-> Configuration Manager ...
  • Changer 'plate-forme de solution active' à x86 (si c'est là. Si seulement AnyCPU est là, utilisez-le.)
  • Pour chaque projet incriminé, dans la colonne Platform, sélectionnez "Nouveau"
  • Choisissez une nouvelle plate-forme comme «X86», copiez les paramètres de 'Toute CPU' et assurez-vous que la case à cocher n'est pas cochée.
  • frapper ok.

    Obtenir la configuration / plates-formes cohérentes entre la solution et les projets individuels peut être délicate. Le gestionnaire de configuration peut se comporter de manière inattendue - en particulier avec des configurations de solution personnalisées. Je suggère de jouer d'abord dans une solution de test.


1 commentaires

Je ne peux voir aucun gestionnaire de configuration dans mon Visual Studio 2008. En réalité, le mien est une version modifiée de VS 2008 appelée offre.



-2
votes

pour Visual Studio 2010. Pour exécuter l'accès 12.0: R-Cliquez sur le nom du projet dans Solution Explorer, sélectionnez Propriétés - Build * - Plate-forme cible - X86.


1 commentaires

Ne postez pas de réponses triviales aux questions de réponse adéquate.