当调试asp.net代码(针对IIS运行,并使用Visual Studio 2013)并在断点中尝试使用快速监视来评估变量时,我经常会“无法评估表达式”。
从asp.net项目文件夹中删除.suo似乎解决了问题(重新加载解决方案后)
这是公认的错误吗?现在在Visual Studio 2013中在多台计算机上获得了很多。
答案 0 :(得分:84)
我今天面对的是VS2013。
转到工具 - >选项 - >调试 - >一般 - > 滚动到“使用托管兼容模式”的底部,然后选择选项。
博客的截图(以下网址): 重启你的调试。希望它能帮助别人。
帮助我的是下面的内容!
答案 1 :(得分:7)
C#调试引擎在很大程度上依赖于CLR调试器来评估表达式。该消息表明CLR处于无法执行简单评估的状态,其原因可能包括以下内容
答案 2 :(得分:1)
其中一些选项会随着时间而变化-其他答案中评分最高的解决方案似乎不再存在-搜索选项对话框会有所帮助。
现在,对于一个我发现this的ASPNET Core项目,启用它似乎有所帮助:
禁止模块加载时的JIT优化(仅受管理):禁用 加载模块且JIT为时托管代码的JIT优化 在连接调试器时进行编译。禁用优化可能 尽管以牺牲成本为代价,但使调试某些问题更加容易 性能。如果您使用的是Just My Code,则禁止显示JIT 优化可能导致非用户代码显示为用户代码(“我的 代码”)。有关更多信息,请参见JIT优化和调试。
如果它似乎没有帮助,我建议再次将其关闭。
答案 3 :(得分:0)
我已针对特定项目遇到此问题,原因是Costura.Fody(将所有DLL嵌入到执行程序集中)。
在这种情况下,您可以停用Costura.Fody.
从FodyWever.xml中评论出Costura
Database
在* .csproj
中禁用干净的参考目标(如果包含)<Weavers>
<!--<Costura />-->
</Weavers>
答案 4 :(得分:-2)
转到Tools --> Options --> Environment --> General -->
检查&#34;根据客户端效果自动调整视觉体验&#34;选项。