VS 2017调试时即时窗口报C#编译器内部错误求助
我之前也碰到过类似的编译器内部错误,尤其在VS2017的老版本里这类问题挺常见的。既然你已经试过启用Use Managed Compatibility Mode,那可以试试下面这些方案:
清理Visual Studio组件缓存
关闭所有VS实例,打开文件资源管理器,导航到%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_<你的实例标识>目录(这个标识是一串类似随机字符的文件夹名,比如15.0_f3e2d1c0),找到ComponentModelCache文件夹,删除里面的所有文件。重启VS后再尝试在即时窗口执行表达式。修复或更新Visual Studio
15.6.6是VS2017比较早期的版本,很多编译器相关的bug在后续补丁里已经被修复。打开VS Installer,选择你的VS2017安装项,点击"修改",然后选择"修复"选项来修复损坏的组件;或者直接检查更新,升级到15.9.x(VS2017的最终稳定版本),大概率能解决这个问题。重置VS调试设置
以管理员身份打开"Developer Command Prompt for VS 2017",运行命令:devenv /ResetSettings这个命令会将VS的设置重置为默认值,避免自定义的调试配置冲突导致的异常。
测试新建项目排除项目问题
有时候问题是当前项目的配置或文件损坏导致的。新建一个简单的控制台应用项目,启动调试后在即时窗口输入int a = 2;,如果能正常执行,那回到原项目,清理bin和obj目录,重新生成项目后再试。关闭新C#调试器(如果启用)
打开VS的"工具"->"选项"->"调试"->"常规",找到"使用新的C#调试器"选项(如果你的版本里有这个选项),取消勾选它,然后重启VS再测试。
内容的提问来源于stack exchange,提问作者Thaoden

