Il y a quelques jours, j'ai déplacé ma solution vers MSVS 2013. Cela fonctionne bien, sauf une chose: lorsque j'essaie de déboguer le code de mon service WCF, cela fonctionne, mais quand je veux regarder l'état de n'importe quelle variable, cela dit: "Erreur interne dans l'expression évaluateur ". L'ajout de la fonction de surveillance fonctionne normalement du côté client, mais dans le code de service, il est cassé. J'essaye de déboguer mon propre service WCF en cours d'exécution sur l'hôte local. Pourriez-vous m'aider, comment réparer cela?
Ici MSVS info: Microsoft Visual Studio Professional 2013 Version 12.0.30110.00 Update 1 Microsoft .NET Framework Version 4.5.51641 OS: Windows 8.1
Réponses:
Cela peut être un bogue dans le nouveau moteur de débogage (géré) fourni avec Visual Studio 2013. Essayez d'activer le mode de compatibilité gérée (qui le transforme effectivement en moteur de débogage pré-2013), situé sous Outils - Options - Débogage :
Si cela résout le problème, je vous suggère d'essayer de le reproduire avec un petit projet, puis de le signaler sur Connect , afin qu'il puisse être corrigé.
@bjhuffine commente ci-dessous qu'il existe d'autres moyens d'activer le mode de compatibilité, sans le désactiver globalement (par exemple par projet). Plus d'informations ici: https://devblogs.microsoft.com/devops/switching-to-managed-compatibility-mode-in-visual-studio-2013/
la source
Selon la question «Erreur interne dans l'évaluateur d'expression», «Utiliser le mode de compatibilité gérée» arrête «Modifier et continuer». Essayez de cocher l'option "Utiliser les évaluateurs d'expressions C # et VB hérités" sous Outils - Options - Débogage .
la source
J'ai essayé la réponse d'Igal , et cela n'a pas fonctionné pour moi, mais j'ai trouvé une solution qui a fonctionné pour moi. J'ai effacé la montre et j'ai recommencé à ajouter des éléments. J'ai remarqué que si j'essayais d'ajouter un élément qui n'était pas à l'intérieur du sous ou de la fonction actuelle, une erreur interne se produisait.
J'ai résolu le problème en ajoutant d'autres éléments à l'intérieur de leurs sous-marins ou de leurs fonctions et il n'y a plus eu d'erreur.
la source
La réponse de Michael Freidgeim m'a aidé à déboguer mon problème. Mais je souhaite ajouter des détails supplémentaires sur la cause de mon problème. Seulement légèrement lié à la question du demandeur, mais son erreur est extrêmement trompeuse.
Nous utilisions un RadGrid de contrôles Telerik avec GridDateTimeColumn. La propriété MinDate sur ces grilles par défaut est 01/01/1980 donc si vous liez une date à cette colonne qui est inférieure à cela, vous verrez cette erreur. La chose étrange est que la liaison et l'affichage d'origine n'ont pas posé de problème, ce n'est que lors de la navigation vers une autre page que l'erreur a été générée.
la source