尝试调试WCF服务代码时,在“添加监视”功能上获得“表达式计算器中的内部错误”(MSVS 2013)


114

几天前,我将解决方案移到了MSVS2013。除了一件事,它可以正常工作:当我尝试调试WCF服务的代码时,它可以工作,但是当我要监视任何变量的状态时,它说:“表达式中的内部错误评估者”。添加监视功能在客户端可以正常使用,但是在服务代码中却坏了。我正在尝试调试在本地主机上运行的WCF服务。您能帮我,如何修复?

在此处输入图片说明

此处的MSVS信息:Microsoft Visual Studio Professional 2013版本12.0.30110.00更新1 Microsoft .NET Framework版本4.5.51641操作系统:Windows 8.1


在MSVS2012中,它可以正常工作(Microsoft Visual Studio Professional 2012版本11.0.61030.00更新4 Microsoft .NET Framework版本4.5.51641)
Ceridan 2014年

我也看到了该消息,并将其从2012年升级到2013
Gary

我必须回滚到2012年,2012年它应该没有错误,而2013年对我来说仍然很
糟糕

VS 2013中也遇到相同的错误
zulucoda 2014年

Answers:


228

这可能是Visual Studio 2013附带的新(托管)调试引擎中的错误。尝试打开位于工具-选项-调试下的托管兼容模式(实际上将其转换为2013之前的调试引擎):

如果这解决了问题,那么我建议尝试使用一个小项目来重现它,然后在Connect上报告它,以便将其修复。

@bjhuffine在下面评论说,还有其他方法可以启用兼容模式,而无需全局禁用它(例如,每个项目)。此处的更多信息:https : //devblogs.microsoft.com/devops/switching-to-managed-compatibility-mode-in-visual-studio-2013/


7
这个固定我同样的问题,与Visual Studio 2015年CTP 6
克里斯Schiffhauer

1
此配置解决了问题,但是诊断工具停止工作。
Xepe

6
这解决了我在Visual Studio 2015 RTM中的相同问题(并禁用了新的诊断工具),但我在Visual Studio 2013中从未遇到此问题。我必须在家用计算机上进行测试并进行比较。
ahwm 2015年

2
你是个天才,我的朋友!我还发现,这不仅增加了进一步的解释,而且还显示了其他方式,如果您不希望在全球范围内大刀阔斧地进行变革。 blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/…–
bjhuffine

11
只是添加;如果这些选项显示为灰色,则需要停止调试;)
Radderz 2015年


2

我尝试了Igal的答案,但它对我没有用,但是我找到了对我有用的解决方案。我清除了手表并开始再次添加项目。我注意到,如果我尝试添加不在当前子项或函数内的项目,则会发生内部错误。

我通过从其子项或函数中添加其他项解决了问题,并且再次没有错误。


在我的情况下,即使我在方法范围内添加了监视项,也会发生错误,但是带有“使用托管兼容模式”的解决方案对我有帮助。
Ceridan

0

Michael Freidgeim的回答帮助我调试了问题。但是,我想添加其他详细信息来解决我的问题。与问问者的问题只有一点关系,但他的错误却极具误导性。

我们正在使用带有GridDateTimeColumn的Telerik控件RadGrid。这些网格上的MinDate属性默认为01/01/1980,因此,如果将一个小于此日期的日期绑定到此列,则会看到此错误。奇怪的是,原始的绑定和显示没有引起问题,只是在导航到另一个页面时才引发错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.