前言:
这几天在学习牛腩新闻发布系统,突然发现标准的过程原来是从D层倒着往U层敲,在敲的过程中,遇到了一个问题:D层生成的DLL文件,在B层和U层中使用不了! 从早上10:00~15:30,自己弄了好久没弄出来,在赵雨田的帮助下,一下子就发现了问题!问题的由来:
1.
一开始在创建ASP.net网站时,由于自己的2017高版本,而视频里讲解用的低版本,按照视频的方法一直没有建好最初的网站,我就从网上找了一个类似的方法,建成功了网站。
为了和视频接近,所以建立的操作尽可能的和视频教程里一致,所以只好用了一个 4的框架,才找到了和视频类似的应用程序。
2.
后来,在建立B层的时候,也使用的是4的框架,建立D的时候,给选了一个4.6.1的框架,写好代码生成的时候发现,U层和B层一直报错,说是找不到D层生成的DLL文件!
3.
因为之前也遇到过类似的问题,是由于引用的问题导致的,所以,我就重新检查了一下引用。
每一层引用Model层---->每一层都向下引用,也没有问题!
4.
后来,在网上找到一个这样的解决办法
我在想会不会是因为,我重新建立了好多次解决方案,而B层D层是直接从原来的解决方案里搬过来的,所以,生成不了。于是我就按照博客方法,但还是没有解决!
5.
接着,有人说没有DLL文件,你就重新生成一下,我就下D层的项目不断生成,但就是生成不了dll文件
6.
项目中出现了错误导致生成失败,没有生成dll,项目代码没有错,问题到底在哪里?
最后,在朋友的帮助下,发现了
原因:当项目中被引用项目的框架版本过高,而引用它的项目框架版本过低,就会导致被引用dll文件的生成失败,是这个原因导致它一直生成不了dll文件。
最终的解决方案:把每一个项目的框架版本都设置为4.6.1。重新生成一下,就没有问题了
总结:
遇到这个问题,可能的原因:
1.看是否生成了dll文件
2.生成了dll文件,看引用是否添加错了
3.是不是版本有出入
其实,自己被卡的几个小时里,心情差点奔溃。
所以,遇到问题,一定要自己多查,查不出来就赶紧问问小伙伴,有时候别人无意的一个操作,就能让你瞬间开窍!
经历这次的卡顿,对dll的了解和vs的使用又多了一些了解!