在我们开发过程中可能会遇到,在写完代码后,dal,bll,等各层都生成成功,但是web生成错误,但是定位到报错的位置却发现没有错误。作者遇到这个问题是 各个项目的生成输出路径都设置到了web层的指定目录中,其他层都引用了指定目录中的dll。
但是如果在各层设置指定的输出目录之前,已经生成了dll,众所周知会在相应的类库下有debug或release两个文件夹,在这里面生成dll。 在设置指定生成路径之后,各类库下的bin文件中的dll都不再更新,所以即使web层引用的是指定路径的dll,但是如果其它类库有改动的话,生成完之后再次生成web层,web层还是会去查找原类库下面的debug文件夹中的dll,然后复制到web下的Bin中,这时候就会导致,所有都生成成功了,而且看文件夹中都是最新的,但是生成web时候,它会把老的复制过来,所以就会出现生成错误,但是看代码是正确的。原因就是dll引用的不是最新的。
解决的办法就是,删除改动层原有生成的debug文件夹,然后重新生成,之后在生成web层,这样web就不会拷贝旧DLL到bin里,保证了指定文件夹中dll都是新的,生成就成功了。
虽然这是个小问题,但找问题会浪费时间。记录下并希望能帮到需要的人。