我正在尝试将 C# 应用程序移植到 .NET(客户端服务器),并且遇到了序列化问题。
Linux 客户端序列化和对象,但 Windows 服务器无法反序列化它,给出错误:
在类中找不到System.Runtime.Serialization.SerializationException字段“MarshalByRefObject+__identity”
反序列化是通过 BinaryFormatter 完成的:
BinaryFormatter formatter = new BinaryFormatter();
formatter.Deserialize(data);
有问题的类具有 Serializable 属性,并继承自 MarshalByRefObject。如果我删除 MarshalByRefObject 的继承,它工作正常。在 Windows 中一切正常,所以我假设这是一个特定于 Mono 的问题。
任何帮助/建议将不胜感激^_^