【发布时间】:2016-02-23 20:59:50
【问题描述】:
在 Windows 10 通用应用程序中,我在尝试使用 DataContractSerializer 时遇到错误
类型 'System.Collections.Generic.List`1[System.SByte]' 不能 serialized,该类型的序列化代码丢失。请查阅 SDK 将其添加为根序列化类型的文档。
我没有直接使用 DCS,而是在 WCF 调用服务操作的上下文中使用。
我无法弄清楚什么运行时指令可以解决这个问题。以下没有帮助:
<Type Name="System.Collections.Generic.List{System.SByte}"
Dynamic="Required Public"
DataContractSerializer="Required Public"
Browse="Required All"
Serialize="Required All"/>
【问题讨论】:
-
这个库是可移植类库吗?我们在更新 1 中有一个错误,因此某些 PCL 永远不会为它们生成任何序列化数据。
-
不,它不是 PCL。我已经根据下面 KooKiz 的答案修改了指令,现在在编译时收到 InvalidOperationException 消息“找到 f_AnonymousType0`2 的多个匹配项”。应用程序或引用的库在哪里定义这种匿名类型是一个谜。调试这些问题的推荐资源是什么?
-
如果我们能够直接通过电子邮件解决这个问题,这可能是最快的。你可以在这里找到我们:dotnetnative@microsoft.com。
-
在跟踪客户端和服务之间的消息时,看起来我在尝试反序列化使用 FlagsAttribute 修饰的枚举类型时可能会收到此错误。有没有可能这些被视为 List
?
标签: c# generics win-universal-app datacontractserializer .net-native