使用“execdll.exe”来调用C#DLL中的方法?

时间:2012-04-24 06:42:37

标签: c# .net dll

我需要知道是否可以使用 execdll.exe 执行带有c#.net dll的方法。

我尝试执行一个简单的方法Hello World,但是我收到错误“无法浏览此文件的功能”。我不知道我做错了什么。

3 个答案:

答案 0 :(得分:0)

您可以使用程序集

Assembly.Load(byteArrayOfDll).EntryPoint.Invoke(null, null);

答案 1 :(得分:0)

检查方法是否为公开,

另一件事:在您的上下文中只有静态方法才有意义

我赞成@Devils Child方法:

从您的进程中运行DLL ...

如果可以,请在设计时引用它......

或在运行时使用Reflection ...

如果它不是静态方法,请使用Activator(根据需要)

最好的问候。

答案 2 :(得分:0)

我认为你的意思是rundll32.exe或至少execdll.exe是类似的东西。

.NET类不能作为普通DLL公开。它们可以作为COM DLL公开。因此,制作所需内容的唯一方法是将.NET类公开为COM,然后编写一个常规DLL(使用C ++,Delphi等)来实例化COM对象并调用它。然后,您可以从rundll32.exe或您使用的任何工具调用您的DLL。