我正在尝试在 WCF 中使用 .net 4 的发现。但无论我做什么,我都会得到这个不太有用的异常:
System.ArgumentException 跨越了本机/托管边界 消息=未找到接口。 来源=mscorlib 堆栈跟踪: 在System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(RuntimeTypeHandle句柄,RuntimeTypeHandle接口Handle) 在 System.RuntimeType.GetInterfaceMap(类型 ifaceType) 在 Microsoft.VisualStudio.Diagnostics.ServiceModelSink.ServiceMethodResolver.ResolveMethodInfo(类型实现类型,MethodInfocontractMethod) 在 Microsoft.VisualStudio.Diagnostics.ServiceModelSink.ServiceMethodResolver..ctor(ContractDescription 合同、DispatchRuntime 运行时、消息请求、InstanceContext instanceContext) 内部异常:
(堆栈跟踪实际上是空的。)
点击“继续”,程序会阻塞几秒钟,然后继续并显示正确的结果。即使在 Microsoft 提供的 WCF 示例中也会发生这种情况。我确保在 VS 2010 的异常窗口中只显示未处理的异常。
我不知道可能是什么原因造成的,特别是考虑到程序确实可以完美运行,除了异常导致的短暂中断。
每个使用 Discovery 的项目都会出现这种异常,无论是我创建的项目还是 Microsoft 在官方 WCF 示例中提供的项目。它只发生在我的机器上,在我同事的机器上运行良好。
在绝望中,我交叉发布于http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/8e326b48-232c-4510-8194-aa9d4ba36829
问题解决了。
我重新下载了示例并重新安装了 VS,但我之前这样做过,但之前没有任何改变。所以我不知道是什么导致或解决了这个问题。祝以后遇到同样问题的人好运。