问题遇到的现象和发生背景
我想给A程序做一个插件功能,能够实现A程序运行是,可以对插件动态卸载和更新。
现在我是用MAF来实现插件加载功能。
但无法实现插件的卸载和更新。
问题相关代码,请勿粘贴截图
string path = Settings.Default.PipelinePath;
AddInStore.Update(path);
tokens = AddInStore.FindAddIns(typeof(IPluginHost), path);
IPluginHost addin = tokens[0].Activate<IPluginHost>(AddInSecurityLevel.FullTrust);
//调用插件
addin.Exec();
我的解答思路和尝试过的方法
尝试过创建新的AppDomain,插件的dll还是处于占用状态,无法重新生成。
domain = AppDomain.CreateDomain("token");
IPluginHost addin = tokens[0].Activate<PluginHost>(domain);