列表缺少 .NET 本机序列化代码
本文关键字:本机 序列化 代码 NET 缺少 列表 | 更新日期: 2023-09-27 18:36:04
在Windows 10通用应用程序中,我在尝试使用该DataContractSerializer
时遇到错误
类型"System.Collections.Generic.List'1[System.SByte]"不能 缺少类型的序列化序列化代码。查阅开发工具包 有关将其添加为根序列化类型的文档。
我不直接使用 DCS,而是在对服务操作的 WCF 调用上下文中使用。
我无法弄清楚哪个运行时指令可以解决此问题。 以下方法无济于事:
<Type Name="System.Collections.Generic.List{System.SByte}"
Dynamic="Required Public"
DataContractSerializer="Required Public"
Browse="Required All"
Serialize="Required All"/>
根据文档 (https://msdn.microsoft.com/en-us/library/dn627478(v=vs.110).aspx),您的List<SByte>
声明不正确。您只需指示泛型参数的数量,而不是它们的实际类型:
<Type Name="System.Collections.Generic.List`1" ... />
也许这会有所帮助:
<Namespace Name="System" Serialize="Required Public" DataContractSerializer="Required All"/>
<Namespace Name="'System.Collections.Generic" DataContractSerializer="Required All">
<TypeInstantiation Name="List"
Arguments="System.SByte" Serialize="Public" DataContractSerializer="Required All"/>
</Namespace>
在类似的情况下,它帮助了我。我使用了以下链接:
- https://msdn.microsoft.com/en-us/library/dn600639(v=vs.110).aspx