Visual studio 2010 即时窗口;无法对表达式求值……”;

Visual studio 2010 即时窗口;无法对表达式求值……”;,visual-studio-2010,ide,immediate-window,Visual Studio 2010,Ide,Immediate Window,当我在设计时尝试在即时窗口中计算表达式时,得到错误: 在设计模式下无法计算表达式 如果我编译ASP.NET项目并尝试在调试模式下运行它,则会出现另一个错误: 在运行模式下无法计算表达式 为什么会出现这些错误?我过去使用过即时窗口,即使在设计模式下它也能正常工作。假设即时窗口中没有缺少操作符,如果在多项目解决方案甚至web项目中尝试在设计时计算表达式,可能会出现问题 根据: 如果您试图评估项目中的功能,而该功能不是 解决方案的启动项目,如果收到错误,请重试 在解决方案资源管理器中选择项目并尝试评估

当我在设计时尝试在即时窗口中计算表达式时,得到错误:

在设计模式下无法计算表达式

如果我编译ASP.NET项目并尝试在调试模式下运行它,则会出现另一个错误:

在运行模式下无法计算表达式


为什么会出现这些错误?我过去使用过即时窗口,即使在设计模式下它也能正常工作。

假设即时窗口中没有缺少
操作符,如果在多项目解决方案甚至web项目中尝试在设计时计算表达式,可能会出现问题

根据:

如果您试图评估项目中的功能,而该功能不是 解决方案的启动项目,如果收到错误,请重试 在解决方案资源管理器中选择项目并尝试评估 再说一遍

此外:

不能在以下项目类型中使用设计时表达式求值: 需要启动执行环境,包括Visual Studio 用于Office项目、Web项目、智能设备项目和 SQL项目


值得注意的是,即时窗口的行为因您使用的Visual Studio版本而异。如果我尝试计算一个简单的表达式,比如
?2+2
在Visual Studio 2013 Express for Web中,我收到“表达式在设计模式下无法计算”错误消息;但是,在Visual Studio 2013 Professional中,表达式的计算结果为
4
,而无需处于调试模式。

在我的情况下,启用本机调试后使用Excel Interop时收到此错误。然后在调试模式下,我尝试了以下方法:

?xlworkbook.sheets(1).name
进程挂起,我没有收到任何答复,在那之后,每一件事,例如,
?2+2
都给了我这个错误:

在运行模式下无法计算表达式

为了再次能够使用调试功能,我必须禁用本机调试,因为如果您试图在应用程序未运行时访问即时窗口中的属性,您可能会得到:

在设计模式下无法计算表达式

因此:

  • 在应用程序将要运行的文件中设置断点
  • 等待应用程序执行停止(通过断点或异常)或手动触发(例如:转到URL)
  • 在即时窗口中键入要访问的属性(例如,
    GlobalConfiguration.Configuration
    )–现在,如果该属性存在于该上下文中,则应该可以得到正确的结果。如果不存在,则您将获得: 在运行模式下无法计算表达式


  • 这很简单,只要确保在正确的上下文中访问属性即可。

    您要计算的是什么表达式?我使用任何表达式,即使是在2+2上,您也必须位于断点上,才能使用即时窗口或在局部窗口中查看对象。这是不正确的@northben!只需在解决方案资源管理器中选择一个库项目(如bflow1所述),然后在即时窗口中键入1+1。它将被执行!我认为问题在于,当我的应用程序运行时,即时窗口不会计算表达式,除非它位于断点上。我现在主要是在Linux上进行Python开发,所以我无法轻松打开VS来验证这一点。但不管怎样,如果你成功了,那就太好了!仅供后人使用(这是对上面断点注释的一个稍微迂腐的更正):当抛出异常时,您也可以使用即时窗口。@bflow1即时窗口中的
    运算符是什么?