动态加载dll--不占用文件
2014-01-09 17:04
162 查看
Assembly assembly = Assembly.Load(path);
用上面的方法可以动态的加载到dll,但是用这种方法加载到的dll一直到程序运行结束都是占用的,在此期间不能够对此进行升级,或者修改.
经过我大半天的折腾终于想到了办法,首先把dll加载到内存中,然后在在加载成Assembly ,这样的话,dll完全跟程序解耦了,只要加载完成,你就是把dll给删除了,程序也一样照常运行,这样的话就能够在程序运行过程中对该dll进行升级,或者修改.当升级或者修改完成后通知主程序,让主程序重新加载该dll,这样问题就解决了.
Assembly ab = Assembly.Load(File.ReadAllBytes(item)); //先把dll读到带内存中然后在加载
相关文章推荐
- C#实现反射调用动态加载的DLL文件中的方法
- CSharp 从资源文件中动态加载DLL
- 如何动态加载DLL文件
- 检查Windows下的动态链接库文件(DLL)被哪些进程占用
- 解决VC中动态加载DLL时,必须将DLL文件放在EXE文件路经和系统目录下的问题
- VC中实现dll动态库文件加载
- 动态加载文件 DLL
- Java之—— JAVA Web项目中DLL/SO文件动态加载方法
- c# 动态加载dll文件,并实现调用其中的简单方法
- JavaWeb项目中dll文件动态加载方法解析(详细步骤)
- ATL编写的控件中动态调用加载dll文件,并调用函数
- C#读取配置文件详解 完全自定义实现动态加载dll
- c# 动态加载dll文件,并实现调用其中的方法
- PHP intl扩展安装/ext/php_intl.dll文件无法动态加载的问题
- 通过HookNtCreateSection 动态监控驱动sys、动态链接库dll、可执行文件exe加载
- Java之——Web项目中DLL文件动态加载方法
- 通过HookNtCreateSection 动态监控驱动sys、动态链接库dll、可执行文件exe加载
- java动态加载dll文件
- C#动态加载DLL,通过配置文件实现对程序集的即插即用
- VC++通过动态生成并加载DLL,实现可执行文件的自删除