2

我已经阅读了很多关于这个主题的类似问题和答案,但仍然不确定我为什么会遇到这个问题。

我有一个客户端和服务器项目,它们都使用我创建的同一个 dll 库。当我在客户端序列化一个对象时,我在服务器上反序列化它没有问题,但是当我在服务器序列化它之后尝试在客户端反序列化它时,它会引发“无法找到程序集”异常。

客户端和服务器上的序列化和反序列化代码是相同的,它们都知道并使用相同的 dll,有什么想法可能导致问题吗?

4

2 回答 2

2

AppDomain.AssemblyResolve事件。

于 2010-09-19T12:31:21.317 回答
0

是否还有其他东西可能潜入模型中?一个典型的例子是事件;BinaryFormatter 包括事件图,这会导致各种意外的事情被包括在内。如果您事件,请将支持字段标记为 [NonSerialized],或用于类似字段的事件:

[field: NonSerialized]
public event SomeType Foo;

或者更好的是,使用不包含事件图的序列化程序。

于 2010-09-19T12:39:01.420 回答