日期:2014-05-18  浏览次数:20928 次

反序列化是产生问题无法找到程序集“8-4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”。
运行时产生问题
 StudentList students = (StudentList)bf.Deserialize(stream); //把流反序列化 
无法找到程序集“8-4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”。
恳求大家告诉我是什么原因,究竟我的知识体系存在哪些漏洞误区,导致我编写的代码不完整而产生问题,还是我对vs机制理解不透彻?
附上项目(里面也包含了一个需要反序列化的student.dat文件)的地址
http://dynamic.xlpan.com/file/192477228/e44cfc4b-f131-4294-af70-ce39fec68f78
或者是:http://d.1tpan.com/tp0508508001

希望大神们告诉我究竟什么问题,指点指点小菜

------解决方案--------------------
StudentList 里估计引用到别的程序集里的类了。而这个程序集在你的项目里没有引用到。
------解决方案--------------------
student.dat是在程序集8-4里被序列化的,现在要在8-4实例里进行反序列化,因此报错
因为序列化和反序列化需要使用同一个程序集的同一个可序列化类定义,因此,要么使用同一个程序集定义类并进行序列化和反序列化,要么必须引用定义可序列化类的程序集
------解决方案--------------------
缺少dll
------解决方案--------------------
YES
探讨
缺少dll

------解决方案--------------------
是B/S 还是C/S啊? 如果用自己定义 的序列化和反序列化就可以,
------解决方案--------------------
缺少dll引用
------解决方案--------------------
探讨
已在私信中回了你。
其实作为学习,最重要的是理解原理,而有时实在是搞不明白了,也不值得花过多的时间,慢慢积累的知识多了,就豁然开朗了

------解决方案--------------------
我是没下过楼主的代码,但是既然贴出来的错误信息是PublicKeyToken = null,那么就不存在签名,只要考虑命名空间即可。
------解决方案--------------------
PublicKeyToken = null只是表明没有强名称签名,不是没有签名