在完成分析之前检测到结束流
Before completing the analysis was detected ending stream
又是我,我有另一个问题。在某处,我发现了以下代码:
private T DeepDeserialize<T>(string fileName)
{
T returnValue;
using (FileStream str = new FileStream(fileName, FileMode.Open))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
returnValue = (T)binaryFormatter.Deserialize(str);
}
return returnValue;
}
今天和现在修改了一些类,老是报错,可以这样翻译:Before completing the analysis was detected ending stream
(不知道翻译对不对,错误提示是我的语言,不是英语)
我曾尝试在 using
的这两行之间插入 str.Position = 0;
,我在此处的某处找到了它,但没有帮助。
有人可以帮我让它重新工作吗?我不知道该怎么做...
您已经更改了文件的二进制布局,但很可能是在尝试反序列化旧文件。这是行不通的。您必须先序列化新版本。
P.S。如果您在早期阶段考虑版本控制和自定义格式化程序,您也许可以使用新数据 类 反序列化旧数据,具体取决于您的更改
又是我,我有另一个问题。在某处,我发现了以下代码:
private T DeepDeserialize<T>(string fileName)
{
T returnValue;
using (FileStream str = new FileStream(fileName, FileMode.Open))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
returnValue = (T)binaryFormatter.Deserialize(str);
}
return returnValue;
}
今天和现在修改了一些类,老是报错,可以这样翻译:Before completing the analysis was detected ending stream
(不知道翻译对不对,错误提示是我的语言,不是英语)
我曾尝试在 using
的这两行之间插入 str.Position = 0;
,我在此处的某处找到了它,但没有帮助。
有人可以帮我让它重新工作吗?我不知道该怎么做...
您已经更改了文件的二进制布局,但很可能是在尝试反序列化旧文件。这是行不通的。您必须先序列化新版本。
P.S。如果您在早期阶段考虑版本控制和自定义格式化程序,您也许可以使用新数据 类 反序列化旧数据,具体取决于您的更改