2014-12-03 55 views
0

是否有一种方法可以将多个.dll文件作为子进程调用,并且可以在调用.dll失败时自动重启进程?我想使用多个“AddInProcess”来调用这些.dll文件。从WinForms中运行多个.dll文件作为子进程C#

如果有人可以给一个简单的代码来做到这一点,我将不胜感激。

+1

由于您正在寻找简单的代码,您应该能够轻松编写一个包含'Process.Start','Assembly.Load','Activator.CreateInstance'和'MethodInfo.Invoke'的类......当您拥有它时 - 用您遇到的具体问题更新您的帖子。 – 2014-12-03 03:37:32

+0

你也可以看看[MEF](https://mef.codeplex.com/)。 – Gene 2014-12-03 08:01:42

回答

0

您可以通过反射做:

Assembly assembly = Assembly.LoadFrom("c:\\path\\MyDll.dll"); 

Type type = assembly.GetType("MyClass"); 

object instanceOfMyType = Activator.CreateInstance(type); 

你可以,例如,创建一个接口,让您的孩子的DLL实现它。 然后,当您调用反射时,检查是否有任何对象实现它并实例化该对象。

相关问题