繁体   English   中英

反序列化为其名称空间已更改的类型

[英]Deserialize to type whose namespace has changed

使用.NET 4 / C#...

我需要反序列化包含名为ns1.X的类型的序列化表示的旧配置文件。 序列化已使用BinaryFormatter完成。

问题是,经过一轮重构后,类型X已被移动到不同的命名空间,比如说ns2.X。

我尝试创建一个从ns2.X派生的新的空ns1.X类型,虽然这绕过了' 找不到类型ns1.X '错误,但反序列化对象中的属性都是null 此外,在此过程中没有调用ctors。

有什么建议?

您将需要使用ISerializationSurregate来实现这一目标。 这并不困难,杰夫里希特解释得非常好。 我推荐他的书CLR Via c#3。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM