- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将现有库移植到 Windows 10 通用 Windows 平台,但在序列化标有 CollectionDataContract 属性的类型时遇到问题。这些类使用 CollectionDataContract 的 KeyName 和 ValueName 属性在序列化期间提供自定义名称。在 Debug模式下一切正常,但在启用 .NET Native Tool Chain 时失败。
例如:
[CollectionDataContract(Name = "OriginalValuesMap",
ItemName = "OriginalValues", KeyName = "Name", ValueName = "OriginalValue")]
internal class OriginalValuesMap : Dictionary<string, Object> { ... }
正确序列化后看起来像这样:
<OriginalValuesMap>
<OriginalValues>
<Name>Company</Name>
<OriginalValue i:type="d:string">Facebook</OriginalValue>
</OriginalValues>
</OriginalValuesMap>
然而在失败的情况下看起来像这样:
<OriginalValuesMap>
<OriginalValues>
<b:Key>Company</b:Key>
<b:Value i:type="d:string">Facebook</b:Value>
</OriginalValues>
</OriginalValuesMap>
有没有办法通过运行时指令来解决这个问题?
编辑1:我认为使用 Vanilla CollectionDataContract 的一种解决方法也不起作用。在 .NET Native UWP 端序列化的名称与 .NET WCF 应用期望反序列化的名称不匹配。
编辑2:一种可行的解决方法是删除对该属性的使用。我们确实需要定制的契约(Contract)名称,所以这并不理想。
最佳答案
此问题已在最新版本中修复。要获得修复,请从您的 UWP 项目添加对 System.Runtime.Serialization.Xml (4.0.11) 包的显式引用。然后重建项目,它应该可以工作。
关于c# - UWP 中 CollectionDataContract 的 DataContractSerialzer 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048821/
我正在将现有库移植到 Windows 10 通用 Windows 平台,但在序列化标有 CollectionDataContract 属性的类型时遇到问题。这些类使用 CollectionDataCo
我是一名优秀的程序员,十分优秀!