应用场景, 现在有工作目录
bin
----main.exe
----binbinAA.dll
----binbinAA_relation1.dll (A.dll的依赖文件)
----binbinBB.dll
----binbinBB_relation1.dll (B.dll的依赖文件)
按照常规运行, a.dll,b.dll以及他的依赖文件都要放到 main.exe同级目录下
问题如果要分开运行应该如何处理呢?
1. 通过 AppDomain添加privatePath
AppDomain.CurrentDomain.AppendPrivatePath(".\binA\");
AppDomain.CurrentDomain.AppendPrivatePath(".\binB\");
2. 通过反射方式加载a.dll和b.dll
var assmebly = Assembly.LoadFrom(".\binA\A.dll");
3. 通过type.invoke方法调用方法
var type = assmebly.GetType("A.Program");
type.GetMethod("Main").Invoke(null, new object[] { new string[] { "test" } });
那么就可以将目录分开运行.



