VB.Net未能加载文件或程序集“XXX”或它的某一个依赖项。

原创 2017年01月04日 12:04:28

   在机房重构七层时,运行时出现如下错误,真是折磨了自己半天,网上查出很多办法,除了一种办法没使,其它的都试了,还是不行,其实在此期间,看到师哥的一篇博客,是有关这个问题的,但感觉有点看不懂,其实是自己没仔细看,一看到他那片博客关于这个问题,写了一篇,就给人一种很难的感觉,看到他那篇博客里面设计到很多文件夹感觉见都没见到过,所以就放弃了,但其实该文件夹就在自己建的项目里,自己没去点,就浪费了好多时间,最后还是用师哥的方法解决的。

问题出处

   首先该问题出现在反射的代码中,即 

Return CType(Assembly.Load(AssemblyName).CreateInstance(className), Login.IDAL.ISelectUserAccess)

问题原因:(此处看的师哥的博客)

1.文件名与加载时的DLL文件名不一致。
2:.DLL文件根本不存在,即出现丢失情况。

2:.DLL文件根本不存在,即出现丢失情况。

3.:加载DLL路径错误,即DLL文件存在,但加载路径不正确

解决方案:  

  首先确保自己的代码准确无误,主要是看参数是否正确

  即在该项目My Project即可找到对应的程序集名、命名空间


  下面熟悉一下什么事.dll文件:DLL是一种动态链接库文件,是一种不可执行文件,它本身是一个包含可由多个程序同时使用的代码和数据的库,(不是所以能运行的文件都叫可执行文件,有的可能是被执行,和一些程序绑定在一起,当你点击时运行,貌似看起来像是执行文件)。DLL有两种好处@1:可使进程可调用不属于其可执行代码的函数;@2:有助于共享数据和资源。

  确保参数正确后,发现U层bin文件夹下面的bebug文件夹下面除了没有D层的.dll文件,其它层的.all文件都有。从师哥的博客中得知:.net类加载的机制就是默认从本程序集的bin文件中找要加载的程序集的.dll文件,所以启动项目的bin文件夹下要有其它程序的.dll文件(本人在各个程序的bin文件夹下找,发现一个规律,就是你本程序引用了谁,在本程序的bin下面就有引用程序的.dll文件,包括间接引用的【即U层引用Facade层,Facade层引用B层,所以U层里有B层的.dll文件】,引用的机制是:在本程序集有变化时会自动拷贝.dll)。于是乎我就手动的把D层的.dll文件复制到了U层下面,此时该问题以解决,但一运行又出现了另一个错:

  刚才是我手动的把文件拖到另一个文件夹下的,此问题的解决办法是在D层的生成输出路径下,使用浏览把U层的.dll文件添加进去


  反射:提供一种编程的方式,在程序运行期可获得NET的组成部分的相关内容,机房收费系统用反射的目的就是:翻遍更换数据库

  这是在网上搜的一篇有关VB.NET的反射机制的理解:http://www.cnblogs.com/pangblog/archive/2013/08/22/3275579.html

  反射还在研究。。。

总结

  其实有时总是被问题吓倒了,就如一开始就搜到师哥的博客了,但没耐心看下去,就去搜别的方法了,结果可想而知,如果一开始我能耐心看下去,去我的文件夹下多点点,问题也就解决了。由此验证了老师的话:去做就行了,此问题要说去找就行了,也就是去做了。要想发现一个程序或应用的更多功能,去多点点就行了。如果你不想动脑袋,那你将会花费更多的时间。

版权声明:本文为博主原创文章,未经博主允许不得转载。

异常:未能加载文件或程序集”DAL”或它的某一个依赖项——解决办法

下面是我再使用抽象工厂+反射重构机房时,在Factoy中出现了下面一个问题: 去网上查了一下资料,发现这是一个很普遍的问题,它出现的原因主要有两种: 第一种: 加载DLL路径错误。解决办法是调整D层...
  • zjx86320
  • zjx86320
  • 2014年05月16日 17:34
  • 11022

未能加载文件或程序集 或它的某一个依赖项。试图加载格式不正确的程序。问题解决

一般情况下出现这样的问题是因为.dll文件不存在或者路径不正确。但今天我遇到的情况都不在这两个内。我确定.dll文件是存在的,路径也是正确的。但是程序死活都是“未能加载文件或程序集“xxx”或它的某一...

使用regasm注册.net com组件出现不是有效的.net程序集的解决办法

作者:朱金灿来源:http://blog.csdn.net/clever101        在电脑上装有VS 2008和VS 2010.使用VS 2010编写了一个C# com组件:MyCom(基于...

C#中未能加载文件或程序集的问题

这两天编写一个项目的时候,在测试时总会出现 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=...

asp.net网站未能加载文件或程序集或它的某一个依赖项。拒绝访问

http://www.cnblogs.com/muzhiye/archive/2011/04/12/2013789.html 公司所做的网站是用三层框架做的,由于需要改一下功能,...

未能加载文件或程序集 或它的某一个依赖项,拒绝访问

这个问题很特别,我在一台新装的机器上,多次出现这个问题,上次解决了。但这次我的机器恢复后也出现这个问题,很郁闷,估计大家也遇到过,在网上搜索一下,有一些解决方案:方法一、停止Indexing   se...
  • zxy98
  • zxy98
  • 2010年11月22日 17:07
  • 4589

IIS发布网站出现“未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。”的解决方法

未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序。 说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错...

关于“未能加载文件或程序集”的解决方法

关于“未能加载文件或程序集”的解决方法 - dreamman - dreamman我把服务器上的一个asp.net程序下载到本地机XP系统上安装,设置了虚拟目录后用浏览器打开,一切正常。但我重启电脑后...

"未能加载文件或程序集“XXX”或它的某一个依赖项。系统找不到指定的文件"的解决方案

今天在写反射调用的时候失败了,经过调试和分析,最终解决了,下面我就具体说明。 一,报错的现象 未能加载文件或程序集“DalSQL”或它的某一个依赖项。系统找不到指定的文件。 说明: 执行当...

未能加载文件或程序集“ActiproSoftware.CodeHighlighter.Net20”或它的某一个依赖项

未能加载文件或程序集“ActiproSoftware.CodeHighlighter.Net20”或它的某一个依赖项。未能验证强名称签名。此程序集可能已被篡改,或者已被延迟签名,但没有用正确的私钥进行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB.Net未能加载文件或程序集“XXX”或它的某一个依赖项。
举报原因:
原因补充:

(最多只允许输入30个字)