我用下面的代码序列化了一个带有一些属性的文件:
public void saveLevelInfo(LevelData levelInfo) {
stream = File.Open("Game.data", FileMode.Create);
BinaryFormatter bFmt = new BinaryFormatter();
bFmt.Serialize(stream, levelInfo);
stream.Close();
}
然后,当我尝试使用此命令时:
public void loadLevelInfo() {
stream = File.Open("Game.data", FileMode.Open);
BinaryFormatter bFmt = new BinaryFormatter();
LevelData level = (LevelData)bFmt.Deserialize(stream);
stream.Close();
}
我得到这个异常: ileNotFoundException:无法加载文件或程序集'922ab9ba88eba49469a1eeab68bc0baa‘或它的一个依赖项。系统找不到指定的文件。
并且文件存在,如果我擦除文件,我会得到这样的异常: FileNotFoundException:找不到文件"C:\Users\Gilson\Documents\AntHill\anthill\Game.data“
你有什么办法解决这个问题吗?我是C#的新手,所以我不知道该怎么做。
发布于 2011-04-27 09:23:53
无法加载文件或程序集“922ab9ba88eba49469a1eeab68bc0baa”
它抱怨的是程序集,而不是Game.data文件。说得客气些,程序集名称相当奇怪。但是,为了使BinaryFormatter能够反序列化存储在Game.data中的对象,它必须能够加载包含LevelData类型的程序集。使用Fuslogvw.exe tool来解决程序集解析问题,它可以准确地显示CLR正在查找的程序集以及它查找的位置。
https://stackoverflow.com/questions/5798212
复制相似问题