今天用反射报错:

无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性

报错代码如下:

var Assembly.LoadFile(dllPath);
var types =asm.GetTypes();  //这句报错了

然后点击进去看Exception的详细信息:

里面有一个属性是LoaderException, 点进去看到的是:

”未能加载文件或者程序集 FYKS.Interfaces,Version=1.0.0,Culture=nature...."或它的某一个依赖项

看到这里,原因明了

当我们反射A.dll时, A.dll引用了 B.dll ,当程序找不到B时,就会报这个错误。

解决方案就是,不管用啥方式,拿到B.dll,放在A的同目录下即可。

如果是exe进程的话,那么将B放在appBase目录下也可以,即运行进程的根目录

这个是微软的机制,如果A的依赖项B找不到,那么会去找 AppBase/B.dll 或者AppBase/B/B.dll ,都找不到那么就报错

结论:

当我们反射A程序集的时候,也会去加载A的所有依赖项,一旦有一个依赖项找不到,那么就会报标题中的错误

C#反射报错:无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性相关推荐

  1. 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性

    一解决方法: 问题的主要原因出在:跨程序集反射. 即我们需反射的A.dll的程序集引用B.dll程序集,而在反射工具项目中却不存在对B.dll程序集的引用.因此我们只需在反射工具项目中添加对B.dll ...

  2. 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。

    最近在项目中添加了统计功能,需要分析用户请求的useragent,识别出用户手机类型(android,ios),系统版本,通过ip识别用户所在地区 因为之前已经记录了用户的请求统计,所以这次考虑用qu ...

  3. wpf prism4 出现问题:无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。...

    WPF Prism 框架 程序 出现 问题: 无法加载一个或多个请求的类型.有关更多信息,请检索 LoaderExceptions 属性. 1.开始以为是配置的问题,找了半天,最后原来是有个依赖类库没 ...

  4. 解决【无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性】

    楼主使用vs2012 .NET 4.0的环境开发web程序,其实这个问题出现很多次了,每次出现,楼主的办法是把备份文件还原,也就是说"忽略这个问题"!但是今天又遇到了,坑死了!打算 ...

  5. “无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性 “之解决

    网上有很多方法解这个问题,大多数解决间接引用库没有引用到的原因导致.但是本人经过排查,还有其他原因会导致这个问题,固记录下来: 如果用到大多网友提供的方法还无法解决此问题的话就看接下来我说的方法: 查 ...

  6. Windows自动恢复报错:无法加载操作系统,原因是关键系统驱动程序丢失或包含错误

    Windows自动恢复报错:无法加载操作系统,原因是关键系统驱动程序丢失或包含错误 1. 问题 无法加载操作系统,原因是关键系统驱动程序丢失或包含错误 上午因为有点事就没有像往常一样打开电脑,下午回到 ...

  7. 执行./node_modules/,bin/sequelize migration:create --name UserInit报错无法加载

    执行./node_modules/,bin/sequelize migration:create --name UserInit报错无法加载,参考网址 后执行Set-ExecutionPolicy - ...

  8. VsCode配置Python开发环境后运行代码会报错“无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1”

    问题描述:在VsCode中配置Python开发环境后运行代码会报错"无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1&quo ...

  9. 执行 taro init myApp 报错 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1

    执行 taro init myApp 报错 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1,因为在此系统上禁止运行脚本. taro ...

最新文章

  1. 云计算灾备原理与预防恢复方案
  2. 苹果发布第三财季财报 盘后股价上涨5%
  3. STL源码剖析之算法:lower_bound
  4. 计算机网络第七版(谢希仁著)课后习题答案
  5. 微信怎么开免流量服务器,微信如何省流量?关掉这几个功能 省一大半流量
  6. redis学习篇(十)-----高级特性之持久化处理
  7. 在Eclipse中如何让struts.xml显示提示
  8. mysql 5.8_mysql5.8安装指南
  9. 利用Azure Functions和k8s构建Serverless计算平台
  10. Java命令行界面(第12部分):CLAJR
  11. VMware Centos 网络配置
  12. Python中的分片和索引方法
  13. linux百分比查看文件,Linux 如何查看内存使用率百分比?
  14. 浏览器安装Axure原型插件
  15. 未来智能营销时代到来,人工智能营销系统方兴未艾
  16. 如何保存你的登录密码
  17. css如何绘制一个等边三角形
  18. 新加坡企业是怎么做实名认证的?
  19. Java常用类学习笔记
  20. 1. Redis--KEY(键)

热门文章

  1. processon使用教程
  2. (课件教材PPT)前端非常详细培训机构商业版课件教程案例项目源码全套资料打包下载超值
  3. 在Web网页播放网络摄像机(海康、大华等)RTSP视频流方案汇总
  4. 中信银行信用卡中心java_中信银行信用卡中心
  5. 揭开Javascript闭包的真实面目
  6. 5道题,教你参破滑动窗口的解法
  7. OpenEuler内核编译及替换
  8. Tomcat war exploded: Artifact is being deployed, please wait...
  9. DolphinScheduler×T3出行 | 打造车联网一站式数据应用交互体验
  10. 单片机内部寄存器介绍学习