2017-06-28 6 views
-1

私は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 - >出力"のプロジェクト設定のために作成されていることを発見しました。

enter image description here

私が知っている必要がありますどのような.TLBと他のCファイルを使用して、自動的に作成されない2つの相互運用機能のDLLを作成する方法です。私はtlbimp x.tlb /out:Interop.x.dllを使用しようとしましたが、作成されたdllは動作していないようです。

ありがとうございました。

+1

なぜtlb参照をバイパスするのではなく、直接COMリファレンスを追加するだけですか? – MickyD

+0

プロジェクトは私によって作成されていません。だから私はあまりにもそれらを変更したくありません。 – Madz

+1

? COMライブラリに.NETからのCOM参照を追加するには、COMプロジェクトで**ゼロ変更**が必要です。とにかく、あなたはCOMリファレンスを追加すると、VSはinteropのDLLを作成したと思った? – MickyD

答えて

1

これは上記の私のコメントの要約です。


なぜtlb参照をバイパスするのではなく、直接的なCOM参照を追加するだけですか?

.NETからCOMライブラリへのCOM参照を追加するには、COMプロジェクトの変更をゼロにする必要があります。 VSは.NETプロジェクトからCOMリファレンスを追加するとinterop dllを作成します

関連する問題