在序列化的对象中找不到TypeLoadExceptionHolder

时间:2013-02-12 18:10:26

标签: c#

我正在尝试序列化一个大型对象,这已经工作了几个月,如果不是几年,并且最近的修订已经导致在旧文件中发生此错误。

重新序列化后,我会收到一条消息,指出TypeLoadExceptionHolder未标记为“Serializable”。我在序列化调用之前立即设置了一个断点,似乎找不到该类型的任何引用。无论如何都要'扫描'我想要序列化的对象,看看对TypeLoadExceptionHolder的引用在哪里?

1 个答案:

答案 0 :(得分:3)

有许多方案可以触发此类异常。一些更常见的是herehere

(从上面的链接总结)简而言之,当一个类型无法序列化时,二进制序列化不会抛出异常。相反,它用TypeLoadExceptionHolder类型替换unserializable类型。除了没有很好的文档记录之外,使用它的原因更是如此。

您可能会被困在手动确定您尝试序列化的对象中发生了哪些更改。具体来说,寻找:

  • 命名空间更改。
  • 会员名称更改。
  • 会员数据类型更改。