2009-08-07 17 views

答えて

4

はありません、あなたはC++/CLIのラッパーを記述する必要があり、COMを使用しないマネージC++

+2

または、マネージC++で記述されたラッパー。 –

+0

正確に。私たちが行うことは、Managed C++での標準的なextern "C"エクスポートを持つ薄いラッパーを作成し、次にC#で実際のコードを記述することです。 – ConsultUtah

1

を使用する必要があります。ラッパーのヘッダーファイルを含むネイティブコードは、/ clr(共通言語ランタイムサポート)を使用してコンパイルする必要があります。

好奇心のため、COM相互運用機能を使用しないのはなぜですか? regasm.exeとtlbexp.exeツールを調べてください。

+0

私はCOMに精通していないので、私はそれを学ぶのを避けるためにすべてを行います:) –

+1

COMはまた、グローバル登録による厄介なDLLの地獄の問題に苦しんでいます。登録無料のCOMを行うことは可能ですが、ドキュメントが混乱してバグがあります。http://stackoverflow.com/questions/617253/is-anyone-successfully-using-registration-free-com-with-net-components –

1

管理対象の世界と非管理対象の世界を連携させるには、何かが必要です。 COMを使用したくない場合は、C++/CLIでラッパークラスを作成できます。

ここには、あなたが起動できる記事があります:.NET to C++ Bridgeです。

+0

ありがとうあなたは記事のためにあなた。それは役に立ちます。 –