记载这篇文章的原因是我自己遇到了动态加载程序集的问题,而困扰了一天之久。

最终看到了这篇博客:http://www.cnblogs.com/brucebi/archive/2013/05/22/Assembly_Load.html?utm_source=tuicool&utm_medium=referral

但是不是直接看到的原文,而是在这里看到的:http://www.tuicool.com/articles/a2EN7j

具体是什么原因不能加载,我也不清楚,也不能描述清楚,说了,连我自己都不相信。

我的项目需求是,要做MVC的插件化,从网上找了很久,

找到了,http://www.cnblogs.com/cjnmy36723/p/3405272.html#3048029

找到了 https://github.com/shiningrise/Plugin.git

下载了项目,在人本来的项目中运行正常,而在我的项目中,运行是不对的。下面我描述为什么不对了。

按照项目介绍,插件能正常加载,而插件引用的程序集是不能加载的,就提示找不到,而且是FileNotFoundException,但是文件确实存在的,应该是没有把程序集加载到Domain当中。

非常郁闷。

被注视掉的部分,就是原来的,在原来的项目中是可以的,我还特地新建了个demo,也是可以的。

非常郁闷。

后来,在网上,我看到了

这两句

http://www.tuicool.com/articles/a2EN7j

LoadFile(string)

  • Load和LoadFrom的行为那么复杂,而且加载的不一定就是我指定的程序集,如果我真的确定以及肯定就想加载某个程序集文件怎么办呢?这就是为什么会有LoadFile的原因了。其实,在.NET Framework 1.0中并没有LoadFile,因为有了前面提到的原因,才在.NET Framework 1.1中加入了LoadFile。
  • 使用此方法加载的程序集的依赖项不会被自动加载,可以通过AppDomain.AssemblyResolve事件来处理相关程序集的加载。
  • LoadFile把程序集加载到no context中,而且允许多个Identity相同但路径不同的程序集同时存在。

然后,把程序内替换成LoadFrom,奇迹般的正确了,而为什么正确了,我也不知道。

非常郁闷。

使用LoadFile的时候,原项目是正确的。而在我自己的项目中是不正确的。

非常郁闷的 .NET中程序集的动态加载的更多相关文章

  1. html中的图像动态加载问题

    首先要说明下文档加载完成是什么概念 一个页面http请求访问时,浏览器会将它的html文件内容请求到本地解析,从窗口打开时开始解析这个document,页面初始的html结构和里面的文字等内容加载完成 ...

  2. 在Unity3D的网络游戏中实现资源动态加载

    用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕.应该优先加载用户附近的场景资源,在游 ...

  3. Java之——Web项目中DLL文件动态加载方法

    本文转自:https://blog.csdn.net/l1028386804/article/details/53903557 在Java Web项目中,我们经常会用到通过JNI调用dll动态库文件来 ...

  4. (转)在Unity3D的网络游戏中实现资源动态加载

    原文:http://zijan.iteye.com/blog/911102 用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的 ...

  5. angularJS ng-repeat中的directive 动态加载template

    有个需求,想实现一个html组件,传入不同的typeId,渲染出不同的表单元素. <div ng-repeat="field in vm.data"> <magi ...

  6. java 中能否使用 动态加载的类(Class.forName) 来做类型转换?

    今天同事提出了一个问题: 将对象a 转化为类型b,b 的classpath 是在配置文件中配置的,需要在运行中使用Class.forName 动态load进来,因为之前从来没有想过类似的问题,所以懵掉 ...

  7. layui中radio的动态加载(进入修改页面时,设置radio)

    动态设置   radio  的值让它处于选中状态 效果图 : 前端代码: <div class="layui-form-item"> <label class=& ...

  8. Android 图片从网页中获取并动态加载到listview中

    实现功能: 效果图: 代码:这里

  9. C# 动态加载程序集信息

    本文通过一个简单的实例,来讲解动态加载Dll需要的知识点.仅供学习分享使用,如有不足之处,还请指正. 在设计模式的策略模式中,需要动态加载程序集信息. 涉及知识点: AssemblyName类,完整描 ...

随机推荐

  1. Java面试常见知识点总结(三)

    21.volatile关键字: 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:   (1) 保证了不同线程对这个变量进行操作时的可见性,即一个线程 ...

  2. Eclipse下配置javaweb项目快速部署到tomcat

    用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...

  3. linux环境中使用转义字符使命令行字符颜色高亮

    而通过转义序列设置终端显示属性的格式为: \033[Param {;Param;...}m 其中转义序列以 \033[ 为开头,m 为设置属性结束,中间部分的 Param 为属性值,{} 表示可以设置 ...

  4. JavaScript call

    <script> function dog() { this.sound = "wangwang~"; this.shout = function () { alert ...

  5. phpcms V9 整合 Discuz! X2 教程

    整合原理: UCenter 作服务端:phpsso 与 Discuz! 分别作 UCenter 的客户端应用:phpsso 与 Discuz! 通过 UCenter 发生交互. phpcms 通过 p ...

  6. notes

    http://www.cnblogs.com/titicia/p/4388318.html http://blog.csdn.net/kanosword/article/details/5258679 ...

  7. 使用 ApacheBench 进行轻量级压力测试

    ApacheBench 是 Apache Http Server 附带的一个轻量级压力测试功能 先下载一个Apache Http Server :http://httpd.apache.org/ 解压 ...

  8. ExtJS 数据模型

    自定义数据模型 数据模型类其实就是一个继承自Ext.data.Model 的类. Ext.define('MyApp.User', { extend: 'Ext.data.Model', fields ...

  9. RPC框架性能基本比较测试

    RPC框架:gRPC.Thrift.Wildfly.Dubbo 原文链接:http://www.open-open.com/lib/view/open1426302068107.html gRPC是G ...

  10. unicode 和 utf8

    关于 unicode utf8 文章来自于 http://blog.csdn.net/tge7618291/article/details/7599902 ascii 主要来表示英文.但是要全世界那么 ...