最近在写一个解析分析程序,需要动态加载卸载程序集(其实就是一个简单的插件框架),我的 思路是在主程序的目录下,创建一个assemblis目录,用来存放插件目录,如果加载插件时将其复制到 此目录,然后主程序从此目录中加载程序集。其实还有一个更简单的方法,也是在网上找到的。代码如下:
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = functionDirectory;
setup.PrivateBinPath = AppDomain.CurrentDomain.BaseDirectory;
setup.ApplicationName = "Graph";
appDomain = AppDomain.CreateDomain("Functions", null, setup);
remoteLoader = (RemoteLoader) appDomain.CreateInstanceFromAndUnwrap("SuperGraph.exe", "SuperGraphInterface.RemoteLoader");
其实就是applicationbase与prvatebinpath分别设置成插件目录与主程序目录 。
本文介绍了一种在主程序中动态加载和卸载插件的方法,通过设置applicationbase与privatebinpath来实现插件目录与主程序目录的区分,便于管理和使用。
1731

被折叠的 条评论
为什么被折叠?



