动态加载卸载DLL文件
我想自动更新程序,所以除了主函数全部想使用DLL文件,能够在程序发现DLL文件更新时自动重新加载DLL文件。这样就要先对DLL文件进行卸载关闭,然后在重新加载
------解决方案--------------------
需要新建一个AppDomain,在它里面加载Dll,通过AppDomain.Unload卸载。
或者需要两个程序,一个更新程序、一个运行程序。更新程序负责检查和更新Dll,完成后启动运行程序。
------解决方案--------------------具体自己去学了,就是用AppDomain.CreateDomain创建一个新的AppDomain,然后按需加载,不用的时候卸载。没接触过的话还是用第二种简单些。
第二种怎么会不好呢?多少具有自动更新功能的软件都是这样做的。
------解决方案--------------------通过反射进行动态加载dll
卸载 AppDomain.Unload
此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
------解决方案--------------------新建AppDomain比较复杂,你只是想替换dll,那可以加载dll之前先把dll文件内容读入到byte[]中,用反射从它里面加载dll,这时候dll文件是可以替换的。