VS2022调试出现表达式求值器内部错误,无法查看变量
VS2022 调试时表达式求值器内部错误,无法查看变量(VS2017共存场景)
问题描述
数月前装了VS2022,负责的项目调试时根本看不了变量值,加监视就弹Internal error in the expression evaluator。能找的公开方案都试了——包括从TFS拉全新项目重建,没用。同事电脑没问题,而且当时VS2022建的默认C#应用能正常调试,本来以为是项目本身的问题。
换了全新Windows10电脑后,先装VS2017 Professional再装VS2022 Professional,问题反而更严重:不光原项目看不了变量,连VS2022新建的默认ASP.Net Core Web API应用也出同样错误,但VS2017调试一切正常。谷歌、Stack Overflow上的常见方案全试过,都不适用:
- VS2022没托管兼容性模式选项
- 删可视化工具没用
- 全新装的,重置设置没必要也没用
- 确定是在调试模式下操作的
- 其他低赞的特殊方案也试过,无效
复现步骤
- 准备一台装了全新Windows10的电脑
- 安装VS2017 Professional
- 安装VS2022 Professional
- 通过「文件→新建→项目」创建ASP.Net Core Web API应用
- 运行默认程序,在Weather请求接口处设断点,发起请求
- 尝试查看变量,触发
Internal error in the expression evaluator错误
小众解决方案尝试
1. 清VS调试器相关系统缓存
开管理员权限的命令提示符,执行:
rd /s /q "%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_*\ComponentModelCache" rd /s /q "%LOCALAPPDATA%\Temp\VSDebugger"
重启VS2022再调试。
2. 专项修复VS调试工具
打开VS Installer,选VS2022的「修改」,进入「单个组件」,找到「调试和测试」分类下的「调试工具 for Windows」,先取消勾选应用,再重新勾选完成修复。
3. 禁用.NET调试引擎预加载
打开VS2022,进「工具→选项→调试→常规」,找到「启用.NET调试引擎的预加载」,取消勾选,重启VS后调试。
4. 检查系统环境变量冲突
看系统环境变量里有没有COMPLUS_开头的自定义变量(比如COMPLUS_ZapDisable),有的话暂时删掉,重启电脑再试。
5. 单独装对应版本.NET SDK
针对新建的ASP.Net Core项目,右键项目→属性→调试,确认目标框架版本,单独下载安装对应版本的.NET SDK(别通过VS Installer装),重新生成项目再调试。
内容的提问来源于stack exchange,提问作者Argle
相关产品推荐
相关产品推荐

