首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BinaryFormattere在已存在的文件上抛出FileNotFoundException,为什么?

BinaryFormattere在已存在的文件上抛出FileNotFoundException,为什么?
EN

Stack Overflow用户
提问于 2011-04-27 09:05:36
回答 1查看 224关注 0票数 0

我用下面的代码序列化了一个带有一些属性的文件:

代码语言:javascript
复制
    public void saveLevelInfo(LevelData levelInfo) {
        stream = File.Open("Game.data", FileMode.Create);
        BinaryFormatter bFmt = new BinaryFormatter();
        bFmt.Serialize(stream, levelInfo);
        stream.Close();
    }

然后,当我尝试使用此命令时:

代码语言:javascript
复制
    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#的新手,所以我不知道该怎么做。

EN

回答 1

Stack Overflow用户

发布于 2011-04-27 09:23:53

无法加载文件或程序集“922ab9ba88eba49469a1eeab68bc0baa”

它抱怨的是程序集,而不是Game.data文件。说得客气些,程序集名称相当奇怪。但是,为了使BinaryFormatter能够反序列化存储在Game.data中的对象,它必须能够加载包含LevelData类型的程序集。使用Fuslogvw.exe tool来解决程序集解析问题,它可以准确地显示CLR正在查找的程序集以及它查找的位置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5798212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档