Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反序列化异常_C#_Wpf_Serialization_Deserialization - Fatal编程技术网

C# 反序列化异常

C# 反序列化异常,c#,wpf,serialization,deserialization,C#,Wpf,Serialization,Deserialization,当我尝试在新应用程序(.NET)中打开使用旧应用程序(.NET)生成的序列化文件时,我会收到SerializationException“无法获取成员“b_u319_0” 要点 1.)序列化和反序列化在同一版本的代码中工作,没有任何例外。 2.)在不同版本之间,它不起作用。 3.)这是WPF应用程序,我正在序列化从ViewModel派生的MyViewModel类。 4.)使用二进制格式化程序 详细说明 我在新版本的类中添加了新的变量、属性和方法(根据项目需要)。 现在,当我尝试在新版本中打开我的

当我尝试在新应用程序(.NET)中打开使用旧应用程序(.NET)生成的序列化文件时,我会收到SerializationException“无法获取成员“b_u319_0”

要点 1.)序列化和反序列化在同一版本的代码中工作,没有任何例外。 2.)在不同版本之间,它不起作用。 3.)这是WPF应用程序,我正在序列化从ViewModel派生的MyViewModel类。 4.)使用二进制格式化程序

详细说明 我在新版本的类中添加了新的变量、属性和方法(根据项目需要)。 现在,当我尝试在新版本中打开我的旧序列化文件时,出现序列化异常“无法获取成员'b_uu319_0'”

为了识别这个问题,我对所有新添加的代码进行了注释,并尝试在新版本中打开我的旧数据(在其中我对新代码进行了注释) 版本没有任何例外

我用我的应用程序编写了示例程序,它运行良好。现在我真的对实际问题感到困惑,无法找到解决办法

任何建议都会有帮助
提前感谢

请提供一个不起作用的代码的适当示例。坏消息是:
BinaryFormatter
因版本间的脆弱性而臭名昭著,特别是在使用自动实现的属性或在不同项目/布局之间移动时(基本上:它讨厌重构);我建议使用
BinaryFormatter
的次数。。。其实它不是零,但离它不远;此时是否可以远程更改序列化程序(显然,首先转换为旧代码)并重新导出?或者现有版本已经完成了吗?不管文件是什么:你需要使用什么?@Silvermind在这种情况下,我认为这不会有帮助;我理解这个问题,它并不像仅仅展示几行代码那么简单code@Silvermind但是我不得不说。。。我被“源自ViewModel”的说法吓坏了,它增加了你所说的事情的发生几率——这确实会从根本上造成痛苦;涉及UI框架的序列化只是。。。糟糕的领域(抱歉,Pankaj,但是你的选择已经进入了一个问题雷区)@Silvermind,@MarcGravel谢谢,我同意稍后修复快速担忧的想法。这是非常旧的代码,我现在无法更改完整的功能。如果你有其他想法。让我知道,请提供一个不起作用的代码的适当示例。坏消息是:
BinaryFormatter
因版本之间的脆弱性而臭名昭著,特别是当使用自动实现的属性或在不同的项目/布局之间移动时(基本上:它讨厌重构);我建议使用
BinaryFormatter
的次数。。。其实它不是零,但离它不远;此时是否可以远程更改序列化程序(显然,首先转换为旧代码)并重新导出?或者现有版本已经完成了吗?不管文件是什么:你需要使用什么?@Silvermind在这种情况下,我认为这不会有帮助;我理解这个问题,它并不像仅仅展示几行代码那么简单code@Silvermind但是我不得不说。。。我被“源自ViewModel”的说法吓坏了,它增加了你所说的事情的发生几率——这确实会从根本上造成痛苦;涉及UI框架的序列化只是。。。糟糕的领域(抱歉,Pankaj,但是你的选择已经进入了一个问题雷区)@Silvermind,@MarcGravel谢谢,我同意稍后修复快速担忧的想法。这是非常旧的代码,我现在无法更改完整的功能。如果你有其他想法。让我知道