问题描述
AppDomainapp1=AppDomain.CreateDomain("111");string[]入口参数=newstring[1];入口参数[0]="XX";app1.ExecuteAssembly("ACDsee.exe",入口参数);AppDomain.Unload(app1);AppDomainapp2=AppDomain.CreateDomain("222");入口参数[0]="YY";app2.ExecuteAssembly("ACDsee.exe",入口参数);-------------------只能创建app1,程序不会创建app2,除非app1关闭了才会去创建app2.我该怎么弄?
解决方案
本帖最后由 heizi406 于 2014-07-17 11:59:27 编辑
解决方案二:
AppDomainad=AppDomain.CreateDomain("xx",null,null);ObjectHandleoh1=ad.CreateInstance("1.exe","");ObjectHandleoh1=ad.CreateInstance("2.exe","");
解决方案三:
引用1楼sunny906的回复:
AppDomainad=AppDomain.CreateDomain("xx",null,null);ObjectHandleoh1=ad.CreateInstance("1.exe","");ObjectHandleoh1=ad.CreateInstance("2.exe","");
不行啊,说找不到指定文件,用@"1.exe"后说第二个参数字符串长度不能为0.
解决方案四:
app1.ExecuteAssembly("ACDsee.exe",入口参数);//这个函数直到执行的程序main返回值才会返回如果你要同时打开不同的程序,可以另开一个线程
解决方案五:
如果只是要开个ACDsee.exe,何必劳AppDomain大驾啊,直接开个Process就行了.System.Diagnostics.Process.Start("ACDsee.exe","入口参数");