webentwicklung-frage-antwort-db.com.de

Direktes Fenster, "Der Ausdruck kann nicht ausgewertet werden ..."

Wenn ich versuche, den Ausdruck zur Entwurfszeit im Direktfenster auszuwerten, erhalte ich eine Fehlermeldung:

Der Ausdruck kann nicht im Entwurfsmodus ausgewertet werden.

Wenn ich ein ASP.NET-Projekt kompiliere und versuche, es im Debug-Modus auszuführen, erhalte ich einen anderen Fehler:

Der Ausdruck kann nicht im Ausführungsmodus ausgewertet werden.

Warum bekomme ich diese Fehler? Ich habe in der Vergangenheit sofortiges Fenster verwendet und es funktionierte auch im Designmodus einwandfrei.

38
Tomas

Wenn Sie den >-Operator im Direktfenster nicht vermissen, kann es zu Problemen kommen, wenn Sie versuchen, einen Ausdruck zur Entwurfszeit in einer Lösung mit mehreren Projekten oder sogar einem Webprojekt auszuwerten.

Nach MSDN :

Wenn Sie versuchen, eine Funktion in einem Projekt auszuwerten, bei dem es sich nicht um das Startprojekt für die Lösung handelt, und eine Fehlermeldung angezeigt wird, versuchen Sie, mit Das Projekt im Projektmappen-Explorer auszuwählen, und versuchen Sie es mit der Bewertung . .] nochmal.

Ebenfalls:

Die Entwurfszeitausdrucksauswertung kann nicht in Projekttypen verwendet werden, für die Die Ausführung einer Ausführungsumgebung erforderlich ist, einschließlich Visual Studio Tools für Office-Projekte, Webprojekte, Smart Device-Projekte und SQL Projekte.

27
bflow1

Es ist erwähnenswert, dass das Verhalten des Direktfensters von der verwendeten Visual Studio-Edition abhängt. Wenn ich versuche, einen einfachen Ausdruck wie ? 2+2 in Visual Studio 2013 Express für Web auszuwerten, erhalte ich die Fehlermeldung "Der Ausdruck kann nicht im Entwurfsmodus ausgewertet werden". In Visual Studio 2013 Professional wird der Ausdruck jedoch in 4 ausgewertet, ohne sich im Debug-Modus befinden zu müssen.

6
pvdjay

Wie northben in einem Kommentar darauf hingewiesen hat , wenn Sie versuchen, auf Eigenschaften im unmittelbaren Fenster zuzugreifen, während Ihre Anwendung nicht ausgeführt wird, erhalten Sie möglicherweise Folgendes:

Der Ausdruck kann nicht im Entwurfsmodus ausgewertet werden.

Deshalb:

  1. Legen Sie einen Haltepunkt in der Datei fest, die Ihre Anwendung durchläuft.
  2. Warten Sie, bis die Anwendungsausführung angehalten ist (durch den Haltepunkt oder eine Ausnahme), oder lösen Sie sie manuell aus (z. B. gehen Sie zur URL).
  3. Geben Sie im Direktfenster die Eigenschaft ein, auf die Sie zugreifen möchten (z. B. GlobalConfiguration.Configuration). Jetzt sollten Sie die richtigen Ergebnisse erhalten, wenn diese Eigenschaft in diesem Kontext vorhanden ist. Wenn es nicht existiert, erhalten Sie:

    Der Ausdruck kann nicht im Ausführungsmodus ausgewertet werden.

Es ist so einfach wie sicherzustellen, dass Sie auf die Eigenschaften im richtigen Kontext zugreifen.

4
CPHPython

In meinem Fall habe ich diesen Fehler bei der Verwendung von Excel Interop erhalten, nachdem systemeigenes Debuggen aktiviert wurde. Dann habe ich im Debug-Modus folgendes versucht:

?xlworkbook.sheets(1).name

Der Prozess hing nicht mehr, ich erhielt keine Antwort und danach alles andere, z. ?2+2 gab mir diesen Fehler:

Der Ausdruck kann nicht im Ausführungsmodus ausgewertet werden

Um wieder Debug-Funktionen nutzen zu können, musste ich das native Debugging deaktivieren.

0
ZygD