问题描述
- C#如何卸载dll插件,将加载好的插件实现卸载,用什么方法,求大神指导给个示例
-
我现在只会用 assembly 反射加载插件,就不不知道卸载的方法,网上说的太深奥,求大神具体指导下,给个示例代码
解决方案
据我所知,插件没有办法卸载。如果你说的卸载只是为了使得用户可以删除插件文件的话,那么可以用assembly.loadfrom(filestream)的方式加载,而不是直接从文件加载。
这样插件dll可以在程序运行的时候被删除。但是这不是卸载,你的主程序还是可以继续调用这个插件。
你可以加上判断,在“卸载”之后,不再调用这个插件,插件的文件也删除了,用户不会感觉这个插件还存在,除了稍微微乎其微地还占用那么一点内存
解决方案二:
通过调用c的dll来做,FreeLibrary来是否duiyingdll的句柄。
解决方案三:
我试过很多遍都卸载不了插件,貌似是跟着一些你所需要的软件来的。
时间: 2024-10-29 19:12:19