本来系统好好的,但今天一打开:180多个错。天呐~~~一下就晕了。整了不到半个小时,就坐不住了。赶快叫救兵前来助阵。怎么办,马上就验收了,真的有些心慌了~~~
这类问题后来我了解到,有这几个原因:
1:DLL文件名与加载时的DLL文件名不一致。
2:DLL文件根本不存在,即出现丢失情况,或没有生成,或生成路径错误。
3:加载DLL路径错误,即DLL文件存在,但加载路径不正确
最终发现我的情况是第二种。ChargeBLL\bin\Debug中是空的,本该有的下面这一堆文件,它都没有
最开始:尝试把其它debug文件中的相应文件拷贝到B层的debug中,但一重新生成,文件又都不翼而飞了。我心里那叫个着急啊~~~时间一分一秒的过,但没什么效果,心里那叫个慌啊~~本来好好的东西,这是怎么了。
最后将所有层的程序集名称, 根命名空间都重新输入了一遍(必须和各个项目的名称相同),再将各个项目重新生成了一遍,解决了......
今天还遇到一个问题:DALFactory出现"未能加载文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件”的解决方案 。
单步调试,问题出在:抽象工厂+配置文件+反射这块。
这个问题其实也是缺少dll文件造成的。
D层的生成输出路径应该为:U层\bin\Debug\ 而不是D层的Debug
为什么呢??
反射的一个原则:一切皆以UI层的bin文件夹中的dll名称为中心。(原因很简单:.net类加载的机制就是默认从本程序集的bin文件中找,所以bin文件夹中一定要有要加载的程序集的dll)。UI层中bin文件夹中dll叫什么名字AssemblyPath就使用什么名字,bin内部类的全名叫什么,className就写成什么全名。.net中的引用:加入对某个程序集的引用就能在程序集有变化时自动拷贝dll。——李社河csdn博客
背景:
错误理解了师父的意思:最初敲机房的时候是三层,师父说直接在三层基础上敲七层就行。师父的意思是架构可以在这个基础上直接改就行,但我怎么做的呢?三层的就还是三层,后面没敲的窗体功能用的七层。这就导致了引用混乱的问题:为实现七层:B层引用了Factory和IDAL。为了让之前的三层依然能用,不得不让B层继续引用D层。
我的问题在哪呢?一个字:懒~~~
懒的结果是什么呢?花费更多的时间来调错,改错,最终三层的还得弄到七层,得不偿失,自己给自己找麻烦。
最终怎么解决的:将所有引用关系都删掉,重新引用。(当然,这次B层就别引用D层了)
那在这个过程中:真儿真儿的感受到,这个心态的重要性:
看到180多个错,我第一感觉就是:胆怯、着急。从心底不太接受它,感觉又要耽误我的时间了,自己没调多久,就搬来了救兵。他们是什么心态呢?两个字:兴奋
尤其这两位:
盖:这个问题我见过,让我再试试。
华仔:我好久没遇到过错误了,总想有点错,但每条线敲完,总是成功.....我来给你调调
看看人家这心态。我真儿真儿的有了羞愧感。
当然最重要的人物还有唐唐童鞋,一直鼓励我......
若不是大家的劲头给了我动力,我肯定就拿出最近一次的备份重新做了。通过这次,我也明白了:没有什么问题是解决不了的。
敲系统,不就是为了让我们出错调错吗??不调错,怎么进步??????
在这里,练的就是心态,遇到错就胆怯,抵触,进步不会很大的,因为最重要的没有拿到手。
师哥师姐经常反馈回来信息:在公司很多问题除了我们没人能解决。我若一直像我现在这个样子,怎么能到他们的境界。况且现在面对的仅仅是一个小小的机房~~~~
每个错误都是我们通向成功的一个阶梯。都是我们前进机会,别人巴不得有这样的机会锻炼自己。
拒绝错误,就是在拒绝进步。现在不锻炼,什么时候练??在公司能有这样的机会???得了吧......为什么我们能拿那么多钱,其实就是因为我们不怕犯错......
所以:我现在需要做的就是调整心态,不要自己堵自己的路。不要拒绝机会。
从今开始,欢饮错误来访~~~
原文地址:http://blog.csdn.net/onlybymyself/article/details/45789767