VS2013 Débogueur + Entity Framework: “exécution a refusé d'évaluer l'expression”, les accidents de
Je rencontre beaucoup de problèmes avec Entity Framework 6.0.1 dans le VS2013 Ultime débogueur lors du débogage en tests unitaires contre le code qui frappe un live de SQL Server.
Variables qui contiennent des entités ne peuvent pas être affichés dans le débogueur. Par exemple, si j'exécute une requête LINQ contre mon DbContext et de rafraîchissement de l'affichage des résultats de l'exécution de la requête, les Résultats de la valeur est "les enfants ne pouvait pas être évalué". Si je ToArray (), alors maintenant la variable est un tableau d'entités au lieu d'un IQueryable, chaque résultat dans le tableau est "impossible d'évaluer l'expression". Si je stocker une seule entité, la valeur du tableau à une variable et essayer de la voir, j'ai "L'exécution a refusé d'évaluer l'expression à ce moment."
Fréquemment, F10 communique par le biais d'une ligne qui implique l'accès à une propriété d'entité permet à Visual Studio de tomber en panne.
Cela n'arrive pas si je suis l'exécution du test contre un moqué-faux DbSet.
Est-ce un problème connu? Est-il un moyen de résoudre ce problème?
- Est le type générique de la DbSet le même dans la maquette de cas? Peut-être que le type d'entité possède une propriété, peut-être une sorte de propriété calculée que vous avez créé, qui est en train de lancer une exception. Juste spéculer.
Vous devez vous connecter pour publier un commentaire.
Je vais avoir un problème similaire et même si je suis encore à comprendre pourquoi, en tournant Options -> Débogage -> Général> Utilisez Gérés en Mode de Compatibilité - Sur, m'a permis de continuer de faire du débogage normal.
J'ai trouvé cette option via ce post de blog.
Peu de temps après l'installation de VS2013, j'ai aussi rencontré l'erreur
de nombreuses variables lors du débogage d'une ancienne VS2012 solution (aucun code porte sur l'entity framework).
Le correctif qui a travaillé était de supprimer les deux
Solution de d'Options de l'Utilisateur (*.suo)
fichiers associé avec le fichier de solution. Par exemple, pourMySolution.sln
, les deux fichiers correspondants ont été:Il semble que le v12 version est peut-être endommagé lorsqu'il a été initialement créés à l'aide de paramètres à partir de la version v11. Par conséquent, la suppression de deux d'entre eux a permis pour un nouveau nettoyage
.suo
fichier doit être créé pour VS2013 et le problème a disparu.(Remarque, le
.suo
fichiers sont marqués comme étant cachés sous Windows 7 si vous ne pourriez pas facilement voir dans l'Explorateur Windows, sans modifier les paramètres de leur montrer ou en utilisant la ligne de commande pour les visualiser.)Il y a peut être un problème concernant le débogage si il y a une entité Virtuelle entités à l'intérieur.
Nous avons eu ce problème lorsque vous essayez de déboguer les entités à l'intérieur Ef portée.
Entity Framework, puis essayez d'attraper l'état de la virtial entités.
Nous avons obtenu un meilleur résultat lors de l'affichage d'entités à l'extérieur db portée.
De cette façon, EF n'est pas en cause, tout en regardant les entités de valeurs.
Visual Studio 2013 mise à Jour 2 promet de réparer cette erreur, trouvé dans les commentaires à:
http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger-Abnormality
Je voulais juste ajouter ma voix à la foule ici.
Je suis en train d'élaborer un UWP application, et non à l'aide de Entity Framework, et a connu un problème similaire où le moteur d'exécution "a refusé d'évaluer l'expression".
J'ai été en utilisant Microsoft Visual Studio Enterprise 2015 mise à Jour 2 et la solution pour moi a été pour moi de mettre à jour mise à Jour 3.