C# 获得;表达式计算器中的内部错误;关于;加上“手表”;尝试调试WCF服务代码时的函数(MSVS 2013)

C# 获得;表达式计算器中的内部错误;关于;加上“手表”;尝试调试WCF服务代码时的函数(MSVS 2013),c#,visual-studio-2013,visual-studio-debugging,C#,Visual Studio 2013,Visual Studio Debugging,几天前,我将解决方案移至MSVS 2013。它工作得很好,除了一件事:当我试图调试我的WCF服务的代码时,它工作得很好,但当我想观察任何变量的状态时,它会说:“表达式计算器中的内部错误”。addwatch函数在客户端正常工作,但在服务代码中它被破坏了。我正在尝试调试本地主机上运行的我自己的WCF服务。你能帮我修一下吗 这里是MSV信息: 微软Visual Studio专业版2013 版本12.0.30110.00更新1 Microsoft.NET框架 版本4.5.51641 OS:Window

几天前,我将解决方案移至MSVS 2013。它工作得很好,除了一件事:当我试图调试我的WCF服务的代码时,它工作得很好,但当我想观察任何变量的状态时,它会说:“表达式计算器中的内部错误”。addwatch函数在客户端正常工作,但在服务代码中它被破坏了。我正在尝试调试本地主机上运行的我自己的WCF服务。你能帮我修一下吗

这里是MSV信息: 微软Visual Studio专业版2013 版本12.0.30110.00更新1 Microsoft.NET框架 版本4.5.51641
OS:Windows 8.1

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

如果这解决了问题,那么我建议尝试用一个小项目复制它,然后报告它,这样它就可以被修复

@bjhuffine下面的评论指出,有其他方法可以启用兼容模式,而无需全局禁用(例如,每个项目)。这里有更多信息:

我试过了,但它不适合我,但我找到了一个适合我的解决方案。我清理了手表,又开始添加物品。我注意到,如果我试图添加不在当前子函数或函数中的项,则会发生内部错误

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

根据问题“使用托管兼容性模式”停止“编辑并继续”。
尝试选中工具-选项-调试下的“使用传统C#和VB表达式计算器”选项

Michael Freidgeim的回答帮助我调试了我的问题。但我想为我的问题的原因补充更多细节。与asker的问题只有轻微的关联,但他的错误是极其误导的


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

在MSVS2012中,它工作正常(Microsoft Visual Studio Professional 2012版本11.0.61030.00 Update 4 Microsoft.NET Framework版本4.5.51641)我也看到了这条消息,刚从2012年升级到2013年。我必须回滚到2012年,2012年它可以正常工作,2013年仍然无法正常工作,因此在VS 2013中出现了相同的错误。这修复了我在Visual Studio 2015 CTP 6中遇到的相同问题。此配置解决了问题,但诊断工具停止工作。这修复了我在Visual Studio 2015 RTM中遇到的相同问题(并禁用了新的诊断工具),但我在Visual Studio 2013中从未遇到过此问题。我得在家里的电脑上测试一下,比较一下。你真是个天才,我的朋友!我还发现了这一点,这不仅增加了进一步的解释,而且还展示了其他方法,如果你不想大锤式的全球变化。只是补充一句;如果这些选项显示为灰色,则需要停止调试;)在我的情况下,即使我在方法范围内添加了监视项,也会发生错误,但是这个带有“使用托管兼容性模式”的解决方案对我有帮助。