Ich habe den folgenden Code in einem Ansichtsmodell:
%Vor% Einer der Usings am Anfang der Codedatei ist System
, der Math
enthält.
Wenn ich Math.Sin(Theta)
im Überwachungsfenster anzeige (indem ich den Code auswähle, mit der rechten Maustaste klicke und "Watch hinzufügen" wähle), erhalte ich den folgenden Fehler:
Der Name 'Math' existiert nicht im aktuellen Kontext
Was ich wissen will ist:
Ich sollte beachten, dass diese Frage vage dem this <ähnelt / a>, aber ich habe keine Probleme über meine lokalen Variablen zu bewegen, und ich benutze nicht PostSharp.
Bearbeiten
Ich habe gerade versucht, alle meine Visual Studio-Einstellungen auf die Standardeinstellungen zurückzusetzen, und ich bekomme immer noch den gleichen Fehler. Wenn jemand einen einfachen Test in Visual Studio ausprobieren möchte, möchte ich nur wissen, ob Sie einen Fehler erhalten, wenn Sie eine Überwachung für Math.Sin(1)
hinzufügen.
Bearbeiten 2
Hier sind ein paar Screenshots, um zu zeigen, was ich erlebt habe:
Bearbeiten 3
Interessanterweise funktioniert Intellisense, wenn ich Math.
in das Watch-Fenster eintippe, aber wenn ich den Ausdruck vervollständige, bekomme ich immer noch den Fehler:
Bearbeiten 4
Um BACONs Fragen zu beantworten:
Es scheint, dass der Täter eine Bibliothek eines Drittanbieters ist, die das IL-Weben (Fody.PropertyChanged) ausführt.
Wenn ich ein neues WPF-Projekt ohne diese Bibliothek erstelle, kann ich Math.Sin()
im Überwachungsfenster verwenden. Sobald ich PropertyChanged
installiert habe, bekomme ich den Fehler "nicht verfügbar in diesem Kontext".
Danke an @BACON, dass er mich auf den richtigen Weg gebracht hat, um das herauszufinden.
Hier ist ein Link zu einem Problem, das ich auf der PropertyChanged-Site veröffentlicht habe:
Bearbeiten
Und dann stellt sich heraus, dass dies wahrscheinlich ein Fehler in Mono-Cecil ist, den PropertyChanged verwendet:
Ich habe das in einer kleinen Test-App im Konstruktor gemacht.
Wenn ich Math beobachten will, kann ich die Werte von E und PI sehen. Du kannst keine Sünde machen. Einen auf val zu setzen funktioniert gut.
Also, nein, ich denke nicht, dass das ganz normal ist, es sei denn, Sie haben auf den falschen Namen geklickt. Dh, nicht die Variable, sondern der "Sin" -Teil ...
Hier habe ich die ganze Sache hervorgehoben ...
Tags und Links c# visual-studio-2010 visual-studio debugging mono.cecil