execdll.exeを使用してac#.netdllでメソッドを実行できるかどうかを知る必要があります。
簡単なメソッドHelloWorldを実行しようとしていますが、「このファイルの機能を参照できません」というエラーが表示されます。何か間違ったことをしているのかわかりません。
そのためにアセンブリを使用できます
Assembly.Load(byteArrayOfDll).EntryPoint.Invoke(null, null);
メソッドがパブリックであることを確認します。
。
別のこと:静的メソッドだけがあなたの文脈で意味をなします
私は@DevilsChildアプローチに賛成です:
プロセスからDLLを実行します...
可能であれば、設計時に参照してください...
または実行時にReflectionを使用します...
静的メソッドでない場合は、Activatorを使用します(必要に応じて)
よろしくお願いします。
rundll32.exeまたは少なくともexecdll.exeは似たようなものだと思います。
.NETクラスをプレーンDLLとして公開することはできません。ただし、COMDLLとして公開することはできます。したがって、必要なものを作成する唯一の方法は、.NETクラスをCOMとして公開してから、COMオブジェクトをインスタンス化して呼び出す通常のDLL(C ++、Delphiなど)を作成することです。その後、rundll32.exeまたは使用するツールからDLLを呼び出すことができます。