(有关复制说明,请参阅更新 II)
我最近在调试会话期间摆弄了 Visual Studio 2019。我将“SqlCommand”类的一些属性固定为“收藏夹”。从那一刻起,我在“locals”中收到一条错误消息“内部错误检索本地值”。
值列右侧有一个“刷新”按钮,当我点击它时,我收到消息“表达式求值器中出现内部错误。”
现在我无法取消固定该特定属性,因为无法再打开类树。
此行为不受特定解决方案的约束,我创建了一个新的演示解决方案,其中我遇到了完全相同的问题。
您可以在下面的屏幕截图中看到它:
主要目标是以某种方式清除信息,其中类的属性固定在“本地”窗口中。
我已经尝试了几种方法来消除该错误。
我使用 Windows Server 2019 Standard、.Net Framework 4.7.2、Visual Studio 2019 16.7.6
我在演示应用程序中使用以下代码:
private static int Main(string[] args)
{
SqlConnection conn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
return 0;
}
这就是我所说的固定功能。我在 SqlConnection 对象的 WorkstationId 属性的示例中展示了它(因为它在 SqlCommand 上不再工作)。我相信我在命令文本和参数属性上使用了它。 pinnable 属性是 16.4 中引入的一个相对较新的功能
文件夹中有一个名为
ObjectFavorites.json
的文件:
%USER%/Documents/Visual Studio 2019/Visualizers
它有以下内容:
{
"$schema": "https://aka.ms/vs/debugger-managed-favorites-schema",
"types": {
"System.Data.SqlClient.SqlCommand": {
"favorites": [
"Parameters"
]
}
}
}
删除行
"Parameters"
。
您甚至不必停止或重新启动 VS,您可以即时编辑此文件。删除该行后再次启动调试器,错误就会消失。
在我这边,我没有遇到同样的问题。
所以也许您可以尝试以下建议:
1)右键单击您的项目属性-->构建-->高级-->--将调试信息更改为
Full
。
2)选中工具-->选项-->调试-->常规下的选项使用托管兼容模式
3)输入
C:\Users\xxx(current user)\AppData\Local\Microsoft\VisualStudio\16.0_xxx\Settings
打开每个文件,然后搜索此:
<PropertyValue name="UseVBCSLegacyExpressionEvaluator">0</PropertyValue>
然后,将值
0
更改为1
。保存更改,重启VS再次测试。而且您还应该以管理员的身份运行它。