如何加载C#dll并从中找到入口点?
我使用以下代码加载库
string str = @"D:\MyDLL.dll";
str = Path.GetFullPath(str);
Assembly assembly = Assembly.LoadFile(str);
答案 0 :(得分:4)
一种方法是
string str = @"D:\MyDLL.dll";
str = Path.GetFullPath(str);
Assembly assembly = Assembly.LoadFile(str);
string args = {"a", "b"}; //command line args that you need to pass
MethodInfo publicStaticVoidMain = assembly.EntryPoint;
publicStaticVoidMain.Invoke(null, args);
我建议在此过程中涉及单独的appdomain。但这不是必要的。
此后的辩论是摘录。
assembly.EntryPoint
返回null。如果有,那么你可以在入口点上调用invoke
并输入。