3 votes

Problème de débogage ASP.NET

Je crée des sites Web dans Visual Studio 2010. Je suis récemment passé à une nouvelle machine de développement fonctionnant sous Windows 7 64 bits. Désormais, lorsque j'apporte une modification à une page Web, je dois arrêter le débogage, tuer Cassini et recommencer le débogage avant que le nouveau code ne prenne effet. Je n'avais pas ce problème sous XP.

Les choses que j'ai essayées...

  • compilation debug="true" dans le fichier de configuration

  • options->Debugging->Editer et Continuer est activé

Je ne sais pas si cela relève de la compilation dynamique ou de l'option Modifier et poursuivre. Toute aide serait appréciée.

EDIT

Un de mes collègues n'a pas ce problème. Il a une installation identique à la mienne, utilisant le même projet, la même configuration de construction (n'importe quelle unité centrale).

3voto

Kyle Trauberman Points 16049

La raison en est le passage d'un OS 32 bits à un OS 64 bits. La possibilité de modifier le code pendant l'exécution de l'application est propre au code 32 bits. Dans un exécutable 64 bits, cette capacité est supprimée.

C'est ce qu'on appelle "Modifier et continuer". Voir cette question pour une bonne explication de la raison pour laquelle cela ne fonctionne pas sur un exécutable 64 bits :

Pourquoi l'option Edit and Continue ne fonctionne-t-elle pas sur le CLR x64 ?

EDITAR: Clarification :

Ce n'est pas un problème avec le système d'exploitation, mais plutôt avec la construction de votre code. Si votre configuration de compilation est définie sur "Any CPU", le code s'exécutera sous l'architecture de votre machine (x64 dans votre cas). Vous devriez pouvoir forcer le réglage sur x86 et être en mesure d'utiliser Edit and Continue.

2voto

Nicholas Carey Points 24614

Les applications 64 bits ne peuvent pas être modifiées dynamiquement pendant le débogage. Pour pouvoir le faire, vous devez changer votre cible de construction 'x86'. C'est facile !

Il suffit de le changer à nouveau (si vous avez vraiment besoin d'assemblages 64 bits).

0voto

Steve Johnson Points 66

Il s'avère que c'était ma faute... J'avais rencontré le redoutable problème "network BIOS command limit has been reached". J'ai trouvé un post qui recommandait de faire un hack regedit "HKLM \Software\Microsoft\ASP.NET\FCNMode = 1", et bien cela désactive les notifications de changement de fichier. En remplaçant cette valeur par 2 et en appliquant les modifications recommandées dans la base de connaissances 810886, les deux problèmes ont été résolus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X