Beim Versuch, den WCF-Dienstcode zu debuggen, wird "Interner Fehler im Ausdrucksauswerter" in der Funktion "Überwachung hinzufügen" angezeigt (MSVS 2013).

114

Vor ein paar Tagen habe ich meine Lösung auf MSVS 2013 verschoben. Es funktioniert einwandfrei, bis auf eines: Wenn ich versuche, den Code meines WCF-Dienstes zu debuggen, funktioniert es, aber wenn ich den Status einer Variablen überwachen möchte, heißt es: "Interner Fehler im Ausdruck Bewerter ". Das Hinzufügen der Überwachungsfunktion funktioniert auf der Clientseite normal, ist jedoch im Servicecode fehlerhaft. Ich versuche, meinen eigenen WCF-Dienst zu debuggen, der auf dem lokalen Host ausgeführt wird. Könnten Sie mir helfen, wie man das repariert?

Geben Sie hier die Bildbeschreibung ein

Hier MSVS-Informationen: Microsoft Visual Studio Professional 2013 Version 12.0.30110.00 Update 1 Microsoft .NET Framework Version 4.5.51641 Betriebssystem: Windows 8.1

Ceridan
quelle
In MSVS2012 funktioniert es einwandfrei (Microsoft Visual Studio Professional 2012 Version 11.0.61030.00 Update 4 Microsoft .NET Framework Version 4.5.51641)
Ceridan
Ich sehe auch diese Nachricht und habe gerade ein Upgrade von 2012 auf 2013 durchgeführt.
Gary
Ich muss auf 2012
zurücksetzen
auch bekommen gleichen Fehler in VS 2013
Zulucoda

Antworten:

228

Dies kann ein Fehler in der neuen (verwalteten) Debug-Engine sein, die im Lieferumfang von Visual Studio 2013 enthalten ist. Aktivieren Sie den verwalteten Kompatibilitätsmodus (der ihn effektiv in die Debug-Engine vor 2013 verwandelt) unter Extras - Optionen - Debugging :

Wenn dies das Problem löst, würde ich vorschlagen, es mit einem kleinen Projekt zu reproduzieren und dann über Connect zu melden , damit es behoben werden kann.

@bjhuffine kommentiert unten, dass es andere Möglichkeiten gibt, den Kompatibilitätsmodus zu aktivieren, ohne ihn global zu deaktivieren (z. B. pro Projekt). Weitere Informationen finden Sie hier: https://devblogs.microsoft.com/devops/switching-to-managed-compatibility-mode-in-visual-studio-2013/

Igal Tabachnik
quelle
7
Dies hat das gleiche Problem mit Visual Studio 2015 CTP 6
behoben
1
Diese Konfigurationen lösten das Problem, aber die Diagnosetools funktionierten nicht mehr.
Xepe
6
Dies hat mein Problem in Visual Studio 2015 RTM behoben (und die neuen Diagnosetools deaktiviert), aber ich hatte dieses Problem in Visual Studio 2013 nie. Ich muss es auf meinem Heimcomputer testen und vergleichen.
Ahwm
2
Du bist ein Genie, mein Freund! Ich habe auch dies gefunden, was nicht nur weitere Erklärungen hinzufügt, sondern auch andere Möglichkeiten zeigt, dies zu tun, wenn Sie den großen Hammer globaler Wandel nicht wollen. blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/…
bjhuffine
11
Nur um hinzuzufügen; Wenn diese Optionen
abgeblendet
13

Gemäß Frage "Interner Fehler im Ausdrucksauswerter" stoppt "Verwalteten Kompatibilitätsmodus verwenden" "Bearbeiten & Fortfahren". Versuchen Sie, unter Extras - Optionen - Debugging die Option "Legacy-Evaluatoren für C # - und VB-Ausdrücke verwenden" zu aktivieren .

Michael Freidgeim
quelle
2

Ich habe Igals Antwort ausprobiert und es hat bei mir nicht funktioniert, aber ich habe eine Lösung gefunden, die bei mir funktioniert hat. Ich löschte die Uhr und fing wieder an, Gegenstände hinzuzufügen. Ich habe festgestellt, dass beim Versuch, ein Element hinzuzufügen, das sich nicht in der aktuellen Unter- oder Funktion befindet, ein interner Fehler aufgetreten ist.

Ich habe das Problem gelöst, indem ich andere Elemente aus ihren Subs oder Funktionen hinzugefügt habe, und es gab wieder keine Fehler.

KomArko
quelle
In meiner Situation tritt ein Fehler auf, selbst wenn ich Überwachungselemente innerhalb des Methodenbereichs hinzugefügt habe. Diese Lösung mit "Verwalteten Kompatibilitätsmodus verwenden" hilft mir jedoch.
Ceridan
0

Die Antwort von Michael Freidgeim hat mir geholfen, mein Problem zu beheben. Ich möchte jedoch zusätzliche Details zur Ursache meines Problems hinzufügen. Nur geringfügig mit der Frage des Fragestellers verbunden, aber sein Fehler ist äußerst irreführend.

Wir haben ein Telerik-Steuerelement RadGrid mit GridDateTimeColumns verwendet. Die MinDate-Eigenschaft in diesen Rastern ist standardmäßig auf den 01.01.1980 eingestellt. Wenn Sie also ein Datum an diese Spalte binden, das kleiner als dieses ist, wird dieser Fehler angezeigt. Das Seltsame ist, dass das ursprüngliche Binden und Anzeigen kein Problem verursachte. Erst beim Navigieren zu einer anderen Seite wurde der Fehler ausgelöst.

ascriven
quelle