得到“无法找到程序集”尝试反序列化时,从客户端到服务器有效,但反之则不然

发布于 2024-09-19 22:55:01 字数 228 浏览 4 评论 0原文

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

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

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

I've read plenty of similar questions and answers on this topic, but still not sure why I get this problem.

I have a client and server projects, both using the same dll library I created.
when I serialize an object on the client, I have no problem deserializing it on the server,
however when I try to deserialize it on the client after the server serialized it, it throws an "Unable to find assembly" exception.

the code of serializing and deserializing is identical on both client and server,
both of them know and work with the same dll,
any ideas what could cause the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦言归人 2024-09-26 22:55:01

查看 AppDomain.AssemblyResolve 事件。

Look at the AppDomain.AssemblyResolve event.

亢潮 2024-09-26 22:55:01

模型中可能还有其他什么东西吗?一个典型的例子就是事件; BinaryFormatter 包含事件图,这会导致包含各种意外的事情。如果您有事件,请将支持字段标记为 [NonSerialized],或者对于类似字段的事件:

[field: NonSerialized]
public event SomeType Foo;

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

Does anything else perhaps creep into the model? A classic example is events; BinaryFormatter includes event graphs, which causes all kinds of unexpected things to be included. If you have events, mark the backing field as [NonSerialized], or for field- like events:

[field: NonSerialized]
public event SomeType Foo;

Or better, use a serializer that doesnt include event graphs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文