尝试debuggingWCF服务代码(MSVS 2013)时,在“添加监视”函数中获取“expression式评估程序中的内部错误”

几天前我把我的解决scheme移到MSVS 2013上。除了一件事以外,它工作正常:当我尝试debugging我的WCF服务的代码时,它可以工作,但是当我想要观察任何variables的状态时,它会说:“expression式中的内部错误评估”。 添加监视function在客户端正常工作,但在服务代码破坏。 我试图debugging我自己的本地主机上运行的WCF服务。 你能帮助我,如何修复?

在这里输入图像说明

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

这可能是Visual Studio 2013附带的新(托pipe)debugging引擎中的一个错误。尝试打开托pipe兼容模式 (有效地将其转换为2013之前的debugging引擎),位于工具 – 选项 – debugging

如果解决了这个问题,那么我会build议用一个小的项目来重现它,然后在Connect上报告它,这样它就可以被修复。

@bjhuffine在下面评论说,还有其他方式来启用兼容模式,而不是全局禁用它(例如,每个项目)。 更多信息在这里: http : //blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/switching-to-managed-compatibility-mode-in-visual-studio-2013.aspx

根据问题“expression式评估器中的内部错误” “使用托pipe兼容模式”停止“编辑并继续”。 尝试检查“ 工具 – 选项 – debugging ”下的“使用传统的C#和VBexpression式评估器”选项。

我尝试了Igal的回答 ,但这并不适合我,但是我find了一个适合我的解决scheme。 我清除了手表并开始重新添加项目。 我注意到,如果我试图添加不在当前子或function内的项目,则发生内部错误。

我解决了这个问题,通过添加其他项目从他们的子或function,并没有再次错误。

迈克尔Freidgeim的答案帮助我debugging我的问题。 但是我想为我的问题添加额外的细节。 与提问者的问题只有一点点相关,但他的错误是非常误导的。

我们正在使用Telerik控件与GridDateTimeColumn的RadGrid。 这些网格上的MinDate属性默认为01/01/1980,所以如果你将一个date绑定到这个小于这个值的列上,你将会看到这个错误。 奇怪的是,原始的绑定和显示没有造成问题,只有当导航到另一个页面时,错误被抛出。