0
命名空间比方说,我有以下类:重构一类具有DataContract
namespace A.B.C
{
[DataContract]
public Data
{
[DataMember] public int Value1 {get;set;}
[DataMember] public double Value2 {get;set;}
[DataMember] public MyClass Value3 {get;set;}
}
}
namespace X.Y.Z
{
[DataContract]
public Dataset
{
[DataMember] public Data Data1 {get;set;}
[DataMember] public int Data2 {get;set;}
// ...
}
}
我还没有被序列化和使用默认DataContractSerializer
反序列化Dataset
对象。现在,重构过程中我改变了Data
命名空间从A.B.C
到A.B.C.D
和反序列化不再起作用:中Data
的数据成员均为0
我试图通过将旧的命名空间的DataContract解决这个问题:
namespace A.B.C.D
{
[DataContract(Namespace = "A.B.C")]
public Data
{
[DataMember] public int Value1 {get;set;}
[DataMember] public double Value2 {get;set;}
[DataMember] public MyClass Value3 {get;set;}
}
}
但是这并没有解决它。我也尝试了一个干净的重建和重新部署(Windows应用商店应用),以防万一,但仍然没有。
如何修复反序列化?
@gleng什么代理文件? –
@gleng没有服务客户端,只是一个应用程序通过数据合同序列化将本地数据存储为文件 –