C# 三层级架构问题之 能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件

举报
tea_year 发表于 2021/12/22 23:31:59 2021/12/22
【摘要】 用抽象工厂加反射来确定调用哪一个D层的时候,出现了错误“未能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件” 如下图所示:   出现这种错误有两种情况: 1.      DLL的文件名写错了 2.    ...

用抽象工厂加反射来确定调用哪一个D层的时候,出现了错误“未能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件”

如下图所示:

 

出现这种错误有两种情况:

1.      DLL的文件名写错了

2.      DLL不存在

我检查了自己的DLL命名,确实没问题。而且我的DLL也是存在的。那么到底是哪里错了呢?

原来是因为我UI层里面没有这个D层的DLL。通过参考社和师哥的博客知道反射一切是以UI层的bin文件夹下的DLL名称为中心。.net的默认机制就是从U层的bin里面去找对应的DLL,我的生成在了D层的bin目录下,当然找不到了。这个问题在编译的时候是不会报错的,在运行的时候就会显现出来。

解决办法就是修改DAL的生成目录为UI/bin里面就可以了

查看UI下

将MySqlDAL的dll输出到UI下

在该类库项目右键,属性即可:

最后运行,OK!

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/108823772

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。