我在visual studio 2015的表达式求值程序中遇到了一个问题,即"表达式求值程序中的内部错误",经过一些调查我发现这是由使用反射加载的程序集引起的.此程序集不会抛出任何异常,但在此之后,vs exp计算器将失败.这不是我加载的唯一程序集,有一些好的工作程序不会影响评估程序.
要解决此问题,我必须选中"菜单>选项>调试>使用托管兼容模式",但这会禁用"编辑并继续"功能,我该怎么办?
高压组件的属性:
它的名字与主程序集相同(我更改了名称但没有发生任何事情)
我的所有项目都使用dotNet 4.5
所有根名称空间都相同(所有程序集都是这样)
谢谢!
这听起来像表达式评估器中的错误.要获得更好的解决方法,请选中"使用旧版C#和VB表达式计算器",而不是选中"使用托管兼容模式".这应该使您能够继续使用编辑和继续以及最近几个版本中添加的其他功能.
就"表达式评估器中的内部错误"而言,您可以通过转到帮助 - >发送反馈 - >报告问题来解决问题吗?这将有助于我们在将来的版本中解决问题.
只是延伸Patrick Nelson提供的解决方案.对于Visual Studio 2015+,查询步骤如下.
转到工具 - > 选项
并在选项下选择Debug - > General并向下滚动以查找... legacy C#expression ..选项:
更多信息请点击此处:
切换到托管兼容模式
注意:切换到传统模式时也会出现一些严重的缺陷.特别是运行时实现接口的反射变得几乎不可能或非常不方便.还有其他反射方法会抛出错误.