VS2019 16.5+如何启用旧版C#/VB表达式求值器适配ArcObjects 10.4
解决VS2019 16.5+版本中ArcObjects调试变量监视选项消失的问题
我之前帮不少开发者处理过类似的情况——VS2019升级到16.5版本后,那个用来监视ArcObjects变量的「Use the legacy C# and VB expression evaluators」选项确实从UI里消失了,但不用被迫停留在旧版本,我们可以通过注册表或者配置文件手动启用它:
方法一:通过注册表手动开启
这是最直接的方式,步骤如下:
- 先完全关闭Visual Studio,避免进程占用导致修改无效
- 打开注册表编辑器:按下Win+R,输入
regedit.exe回车 - 导航到对应路径(注意替换
xxxx为你VS实例的ID,注册表中16.0开头的子项就是你的VS2019实例):路径示例:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\16.0_xxxx\Debugger - 在右侧空白处右键,新建一个DWORD(32位)值,命名为
UseManagedLegacyExpressionEvaluator - 将这个值的数值数据设置为
1(代表启用,设为0就是关闭) - 重启Visual Studio,现在调试ArcObjects项目时就能正常监视变量了
方法二:修改VS配置文件启用
如果不想碰注册表,也可以通过修改VS的配置文件实现:
- 关闭所有VS窗口,找到VS安装目录下的
devenv.exe.config文件,通常路径是:C:\Program Files (x86)\Microsoft Visual Studio\2019\你的版本(比如Professional)\Common7\IDE - 用记事本或编辑器打开这个文件,在
<configuration>节点内部添加以下代码:<system.diagnostics> <switches> <add name="UseManagedLegacyExpressionEvaluator" value="1" /> </switches> </system.diagnostics> - 保存文件后重启VS,旧表达式计算器就会生效
如果以上两种方法都没达到预期效果,或者你担心新版本VS和ArcObjects的兼容稳定性,暂时停留在VS2019 16.4版本也是一个稳妥的选择,直到ArcObjects推出适配新版本VS的更新,或者微软提供更直观的兼容方案。
内容的提问来源于stack exchange,提问作者grzegorzorwat
相关产品推荐
相关产品推荐

