我需要知道是否可以使用 execdll.exe 执行带有c#.net dll的方法。
我尝试执行一个简单的方法Hello World,但是我收到错误“无法浏览此文件的功能”。我不知道我做错了什么。
答案 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。