当我尝试在设计时评估立即窗口中的表达式时,我收到错误:
在设计模式下无法评估表达式。
如果我编译ASP.NET项目并尝试在调试模式下运行它,我会收到另一个错误:
在运行模式下无法评估表达式。
为什么我会收到这些错误?我过去使用过立即窗口,即使在设计模式下也能正常工作。
答案 0 :(得分:27)
假设您没有错过立即窗口中的>
运算符,如果您在多项目解决方案甚至Web项目中尝试在设计时评估表达式,则可能会出现问题。
根据MSDN:
如果您正在尝试评估项目中没有的函数 解决方案的启动项目,您收到错误,请尝试 在解决方案资源管理器中选择项目并尝试评估 试。
此外:
您不能在项目类型中使用设计时表达式评估 需要启动执行环境,包括Visual Studio 用于Office项目,Web项目,智能设备项目和的工具 SQL项目。
答案 1 :(得分:6)
值得注意的是,立即窗口的行为会因您使用的Visual Studio版本而异。如果我尝试在Visual Studio 2013 Express for Web中评估像? 2+2
这样的简单表达式,我会收到"在设计模式下无法评估表达式"错误信息;但是,在Visual Studio 2013 Professional中,表达式的计算结果为4
,而不必处于调试模式。
答案 2 :(得分:4)
作为northben pointed out in a comment,如果您在应用程序未运行时尝试在即时窗口中访问属性,则可能会得到:
在设计模式下无法评估表达式。
因此:
GlobalConfiguration.Configuration
) - 现在,如果该属性存在于该上下文中,则应该可以获得正确的结果。如果它不存在,那么你会得到:
在运行模式下无法评估表达式。
这很简单,只需确保您在正确的上下文中访问属性。
答案 3 :(得分:0)
在我的情况下,在启用本机调试后使用Excel Interop时收到此错误。然后在调试模式下我尝试了这个:
?xlworkbook.sheets(1).name
这个过程挂了,我没有得到任何答案,之后还有其他所有的事情,例如: ?2+2
给了我这个错误:
在运行模式下无法评估表达式
为了能够再次使用调试功能,我必须禁用本机调试。