当调试asp.net代码(针对IIS运行,并使用Visual Studio 2013)并在断点中尝试使用快速监视来评估变量时,我经常会“无法评估表达式”。
从asp.net项目文件夹中删除.suo似乎解决了问题(重新加载解决方案后)
这是一个公认的错误吗?现在在Visual Studio 2013中在多台计算机上获得了很多。
我今天用VS2013面对它了。
转到工具 - >选项 - >调试 - >常规 - >滚动到“使用管理兼容模式”的底部,然后选择选项。
博客的屏幕截图(下面的网址):重新启动调试。希望它能帮助别人。
是什么帮助我在下面!
C#调试引擎在很大程度上依赖于CLR调试器来评估表达式。该消息表明CLR处于无法执行简单评估的状态,其原因可能包括以下内容:
其中一些选项随着时间的推移而改变 - 其他答案中的最高评级解决方案似乎不再存在 - 搜索选项对话框可以提供帮助。
现在,对于一个ASPNET核心项目,我找到了this,并启用它似乎有助于:
抑制模块加载时的JIT优化(仅限托管):加载模块时禁用托管代码的JIT优化,并在附加调试器时编译JIT。禁用优化可能会使调试某些问题变得更容易,但会牺牲性能。如果您使用的是Just My Code,则禁止JIT优化会导致非用户代码显示为用户代码(“我的代码”)。有关更多信息,请参阅JIT优化和调试。
如果它似乎没有帮助我建议再次关闭它。
我已针对特定项目遇到此问题,原因是Costura.Fody(将所有DLL嵌入到执行程序集中)。
在这种情况下,您可以禁用Costura.Fody.
<Weavers>
<!--<Costura />-->
</Weavers>
<!--<Target Name="CleanReferenceCopyLocalPaths" AfterTargets="AfterBuild">
<Delete Files="@(ReferenceCopyLocalPaths->'$(OutDir)%
(DestinationSubDirectory)%(Filename)%(Extension)')" />
<Exec Command="DeleteEmptyDirectory.bat" />
</Target>-->
转到Tools --> Options --> Environment --> General -->
,选中“根据客户端性能自动调整视觉体验”选项。