Я пытаюсь использовать обнаружение .net 4 в WCF. Но что бы я ни делал, я получаю это не очень полезное исключение:
System.ArgumentException crossed a native/managed boundary
Message=Interface not found.
Source=mscorlib
StackTrace:
at System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(RuntimeTypeHandle handle, RuntimeTypeHandle interfaceHandle)
at System.RuntimeType.GetInterfaceMap(Type ifaceType)
at Microsoft.VisualStudio.Diagnostics.ServiceModelSink.ServiceMethodResolver.ResolveMethodInfo(Type implementationType, MethodInfo contractMethod)
at Microsoft.VisualStudio.Diagnostics.ServiceModelSink.ServiceMethodResolver..ctor(ContractDescription contract, DispatchRuntime runtime, Message request, InstanceContext instanceContext)
InnerException:
(Трассировка стека фактически пуста.)
Нажатие «продолжить», программа дросселирует на несколько секунд, затем продолжается и отображает правильные результаты. Это происходит даже в предоставленных Microsoft примерах WCF. Я убедился, что в окне исключений в VS 2010 отображаются только необработанные исключения.
Я понятия не имею, что может быть причиной этого, особенно учитывая тот факт, что программа работает отлично, за исключением короткого перерыва, вызванного исключением.
Исключение возникает в каждом проекте, который использует Discovery, как те, что были созданы мной, так и проекты, предоставленные Microsoft в официальных примерах WCF. Это происходит только на моей машине, оно отлично работает на коробке моего сотрудника.
В своем отчаянии я отправил кросс-пост на http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/8e326b48-232c-4510-8194-aa9d4ba36829