現在、DLL を持っています (C++ を使用して作成)。ここで、この DLL を C# アプリケーションにロードして、いくつかのメソッドにアクセスしたいと考えています。
ここに示す例を使用してみましたが、うまくいきませんでした: 実行時に .NET アセンブリを読み込んで、名前しか知らない型をインスタンス化できますか?
何が問題なのですか?DLL をロードしてメソッドにアクセスする方法はありますか?
前もって感謝します、ペルマル
現在、DLL を持っています (C++ を使用して作成)。ここで、この DLL を C# アプリケーションにロードして、いくつかのメソッドにアクセスしたいと考えています。
ここに示す例を使用してみましたが、うまくいきませんでした: 実行時に .NET アセンブリを読み込んで、名前しか知らない型をインスタンス化できますか?
何が問題なのですか?DLL をロードしてメソッドにアクセスする方法はありますか?
前もって感謝します、ペルマル
リンク先の質問とあなたの問題の違いは、他の質問が.dll形式の.NETアセンブリについて話していたことですが、問題はネイティブの.dllファイルに関するものです。
C++ 側に多数のクラスがある場合は、C++/CLI を使用してネイティブ メソッドとクラスをラップすることをお勧めします。API がメソッドのみを公開する場合は、DllImportAttribute
andextern
キーワードを使用してバインディングを作成する必要がなくなります。
この MSDN の記事は、C++ dll のバインディングを記述するための出発点として最適です: http://msdn.microsoft.com/en-us/library/2x8kf7zx(v=vs.80).aspx
次の形式を使用して、DLL をコード ファイルに追加します。
C# での使用 または
VB にインポート
上記の解決策が機能しない場合は、次のリンクを参照してください。