2017-06-15 10 views
-3

有効なタイプライブラリではありません「dllは有効な型ライブラリではありません」というエラーが表示されます。 DLLはC++で書かれており、私はC#プロジェクトでそれを参照しようとしています。入力ファイルには、私は私のVisual StudioプロジェクトにDLLを参照しようとしていますし、私はこのエラーを取得しています

+0

C#でC++ DLLを参照する方法についてのGoogle検索を実行しましたか。それを試してみましたか? – MethodMan

+0

これはdllの年数によって異なります。いくつかのDLLはC++ラッパーで動作します。昨年も同じ問題があった。ベンダーは2つのdllの1つの古いものと1つのラッパーを提供しました。作業を開始するには、exe debug/releaseフォルダに手動で両方を置かなければなりませんでした。何が問題を悪化させたのは、x32 Windowsとx64ウィンドウ用に異なるdllのペアが存在したことです。 – jdweng

+0

私たちにはわからないコードでは未知のDLLが動作しない理由を説明するようにお願いしていますが、これはうまくいきません。コードに問題がある場合は、a)問題を示すために必要な最小限のコードが必要であり、b)使用しようとしているDLLに関する情報が必要です。あなたは* C++ DLLが必ずしも真実ではないCOMインターフェースを実装していると仮定しているので、私たちが使える情報はまったくありません。 DLLの作成者に連絡して、ヘルプを依頼してください。 –

答えて

1

あなたは.NETプロジェクトに次のように参照できます

  • 別同じフレームワークバージョンの.NETアセンブリ、または前ファイル(.exeまたは.dll)
  • COMコンポーネント(.exeまたは。 dll)。 .NETはCOMラッパーを作成する必要があります。プレーンバニラCリンクライブラリ(.dll)のために

、あなたはdemonstrated here、ファイルに含まれている外部関数を宣言するDllImport属性を使用する必要があります。

関連する問題