我有一个具有以下结构的项目:
- WP7客户端(参考文献2)
- 便携式图书馆(共享)
- WCF 服务(参考文献 2)
广告 1) 客户端还包含对服务 (3) 的服务引用,其类型从 (2) 中重用。广告 2) 库包含服务和客户端使用的
数据协定 ( )。DataContract
到目前为止,一切都很好。一切都在 WVGA 512 MB 模拟器上完美运行。但是当我在真实设备或模拟器 7.1 上运行它时。它MissingMethodException
在构造一个类(uknown 类)时抛出了某个地方。
我能够(经过数小时的评论)将其缩小到图书馆中的合同(2)。每当代码触及可移植库中的任何类时,都会引发此异常。客户端 (1) 包含参考(复制本地 == true)。不知道我还能做什么。
客户端是WP7.1,可移植库是.NET4+/SL4+/WP7+,服务是.NET 4.5。
为什么会发生这种情况,如何在真实设备(和/或模拟器 7.1)上的 WP7 中使用可移植库中的类。
更新:我已将数据合同移至客户 (1) 项目。但是当它们被访问时,仍然会抛出相同的异常TargetInvocationException
(带有 inner MissingMethodException
)。我很困惑。我现在怀疑DataContract
属性。
更新 2:它也不DataContract
是属性。这些类是从抽象泛型类派生的。KnownType
如果有帮助,我会尝试用属性标记它。
更新 3:所以它是基类。我删除了它的通用组件,但仍然无法正常工作。所以我完全剥离了基类,它现在可以工作了。但为什么它不起作用?它适用于服务,适用于 WVGA 模拟器,为什么不适用于设备?我尝试KnownType
使用基类,甚至是子类。没有任何效果。