gpt4 book ai didi

.net - 具有不同程序集版本的二进制反序列化

转载 作者:行者123 更新时间:2023-12-03 10:24:41 26 4
gpt4 key购买 nike

我有一个项目,它使用 BinaryFormatter 来序列化带有字符串和 bool 的结构集合?数据类型。

序列化/反序列化工作正常,但是如果我要更改执行工作的程序集,它无法反序列化,因为二进制文件中的 header 表明它需要 Assembly x而不是 Assembly y来处理数据。

是否可以将序列化/反序列化设置为与程序集无关?

最佳答案

您可以通过将自定义 SerializationBinder 分配给格式化程序来控制二进制格式化程序如何解析其类型。通过这种方式,您无需弄乱 AppDomain 的解析事件,并且消除了由此产生的意外副作用的风险。

MSDN 有一个详细的例子.

关于.net - 具有不同程序集版本的二进制反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/505611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com