“Les changements pour les applications 64 bits ne sont pas autorisés” lors du débogage dans Visual Studio 2008
Je suis à l'aide de Visual Studio 2008, C#. J'essaie d'utiliser de modifier et continuer (modifier le code lors du débogage), et d'obtenir de cette exception:
"Modifications des applications 64 bits ne sont pas autorisés"
Pourquoi est-ce? Est-il une solution?
- Ces réponses vous aider: stackoverflow.com/questions/30183/...
- Lire ici social.msdn.microsoft.com/forums/en-US/csharpide/thread/...
Vous devez vous connecter pour publier un commentaire.
Modifier et Continuer n'est pas pris en charge dans les applications 64 bits à la CLR niveau, donc il n'y a pas de moyen pour Visual Studio pour mettre en œuvre le programme.
La façon la plus simple de contourner ce problème est de cibler votre demande de puces x86. Cela va faire exécuter en mode Wow64 comme un processus 32 bits et, par conséquent, être en mesure d'ENC. Vous pouvez le faire en procédant de la manière suivante
Personnellement, ce que je veux en fait, c'est d'arrêter et modifier modifiez pas et continuer.
J'ai donc tout simplement désactiver le menu Outils /Options /Débogage /Modifier et Continuer.
Faire inhibe ce fichus boîte de dialogue de me harceler à propos d'une fonctionnalité manquante, je ne voulais pas en premier lieu 🙂
Le "Modifier et Continuer" pour les 64 bits de code sera pris en charge sous Visual Studio 2013.
Plus d'informations ici.
Comme jcopenha dit il n'y a pas d'éditer et continuer sur x64 encore. Version actuelle de la 64bit CLR ne le supporte pas. Cependant, il y a un travail autour de.
Vous pouvez le trouver sur Bug Babiller post.
Espère que cela aide.
Le modifier et continuer de fonctionnalité n'a pas été mis en œuvre en x64 encore. Je n'ai pas entendu toutes les mises à jour sur quand ils ont l'intention de le faire encore.
Voir aussi Pourquoi ne le Modifiez pas et Continuer à travailler sur l'x64 CLR?
J'ai eu le même message d'erreur en MS Visual C# Express 2010. C'était drôle, parce que la demande a été définitivement configuré comme un x86 Projet!
En fin de compte, c'était la ligne suivante manquant dans mon .csproj fichier:
Je ne sais pas pourquoi il était en manque ... je suppose que MS Visual C# Express 2010, n'est pas sans bugs 😉
lorsque le PROCESSEUR Cible est "any CPU", il sera exécuté comme une application 32 bits sur un windows 32 bits et 64 bits de l'application sur un 64 bits de windows. Toutefois, visual studio ne permet pas de "modifier-et-poursuivre la" fonctionnalité pour les 64 bits de l'application.
Afin de debug 'parfaitement' sur une machine 64 bits, on peut soit:
a) définir l'Objectif du PROCESSEUR " à "any CPU", mais cochez la case " Préfèrent 32bit boîte.
b) ou, de définir la Cible 'UC' à 'x86'
TRÈS important: les deux option, vous devez Activer les optimisations à être décochée.
Malheureusement, de Modifier et de Continuer n'est pas pris en charge sur les systèmes 64 bits. En fait, si vous essayez d'utiliser la fonction Modifier & Continuer lors du débogage d'une application 64 bits, vous obtenez le message d'erreur suivant: "les Changements pour les applications 64 bits ne sont pas autorisés"
De nombreux utilisateurs peuvent ne pas être conscients que, par défaut, lorsque vous créez un C# ou VB projet dans Visual Studio 2008, la "Plate-forme" pour que le projet est défini à "any CPU". Cela signifie que si vous exécutez votre application sur un système d'exploitation 32 bits, votre application s'exécute comme un processus 32 bits et de la même façon, si vous exécutez votre application sur un système d'exploitation 64 bits, les applications 64 bits. La conséquence de "any CPU", c'est que lorsque vous essayez de déboguer votre application sur un système d'exploitation 64 bits, vous ne serez pas en mesure d'utiliser la fonctionnalité Modifier & Continuer.
Cependant, il existe une solution de contournement. Au cours du développement, vous pouvez définir la Plate-forme pour votre projet de 32 bits, ce qui signifie que votre application s'exécute comme un processus 32 bits, même sur un système d'exploitation 64 bits. Ceci est connu comme WOW64 ou "Windows Sur Windows", ce qui signifie que vous pouvez exécuter une application 32 bits sur un système d'exploitation 64 bits.
Alors, comment pouvez-vous définir la Plate-forme pour votre projet de 32 bits? Eh bien, vous avez besoin pour créer une plate-forme 32 bits à l'aide de Visual Studio Configuration Manager. Voici une courte procédure pas à pas.
Tout d'abord, ouvrez le "Gestionnaire de Configuration de la boîte de dialogue" à partir de Build –> Gestionnaire de Configuration. Le dialogue Gestionnaire de Configuration est indiqué ci-dessous.