重複の可能性:
C# アプリケーションでの C++ クラス DLL の使用
c# で c++ dll を追加するための参照を追加しようとして失敗しました
C#でc ++ dllを追加または使用する他の方法がある場合。どのように使用できますか?
c# プロジェクトのどこに dll を追加するのを間違えますか?
前もって感謝します
重複の可能性:
C# アプリケーションでの C++ クラス DLL の使用
c# で c++ dll を追加するための参照を追加しようとして失敗しました
C#でc ++ dllを追加または使用する他の方法がある場合。どのように使用できますか?
c# プロジェクトのどこに dll を追加するのを間違えますか?
前もって感謝します
C# でネイティブ C++ ライブラリを使用するには、ほとんどの場合、そのためのC++/CLIラッパーを作成する必要があります。P/Invoke は、DLL の API に単純な C に似た関数が含まれている限り問題ありませんが、API に実際の C++ クラスが含まれている場合は、そのタスクには C++/CLI の方がはるかに適しています。
C++ ライブラリへの参照は追加しません。これは .NET アセンブリ専用です。必要なのは、P/Invoke を使用したプラットフォームの相互運用です。MSDN には、ここにたくさんの情報があります:-
http://msdn.microsoft.com/en-us/library/aa288468(VS.71).aspx
これは基本的に、外部ライブラリでエクスポートされた関数を呼び出すメソッド スタブを作成する必要があることを意味します。
C++ プロジェクトの設定によっては C++/CLI の方が適している方法もありますが、個人的には従来の Windows API 関数のエクスポート方法を好みます。