私はC++プロジェクトとC#プロジェクトを持っています。 C#プロジェクトは、interop.X.dllとinterop.XCom.dllという2つのinterop dllによってC++プロジェクトのメソッドにアクセスします。.tlbファイルからinterop dllを作成します。
私のC++プロジェクトが再構築されると、X.tlbファイルとXCom.tlbファイルが作成され、x_i.c、x_h.h、xCom_i.c、xCom_h.cファイルも作成されます。私はファイルが以下のように "構成プロパティ - > MIDL - >出力"のプロジェクト設定のために作成されていることを発見しました。
私が知っている必要がありますどのような.TLBと他のCファイルを使用して、自動的に作成されない2つの相互運用機能のDLLを作成する方法です。私はtlbimp x.tlb /out:Interop.x.dll
を使用しようとしましたが、作成されたdllは動作していないようです。
ありがとうございました。
なぜtlb参照をバイパスするのではなく、直接COMリファレンスを追加するだけですか? – MickyD
プロジェクトは私によって作成されていません。だから私はあまりにもそれらを変更したくありません。 – Madz
? COMライブラリに.NETからのCOM参照を追加するには、COMプロジェクトで**ゼロ変更**が必要です。とにかく、あなたはCOMリファレンスを追加すると、VSはinteropのDLLを作成したと思った? – MickyD