2011-01-06 45 views
8

COMサーバーが作成されており、これを登録しています。COMクライアントにCOMの参照を追加できませんか?

COMクライアントにCOMサーバーを追加しようとすると、追加できませんでした。エラーが発生しています。

は「 'COMTEST' への言及は は

ActiveXのタイプライブラリ 'C \ユーザー\〜\デバッグ\ COMTest.tlb' .NETアセンブリからエクスポート だったとのことができます追加することができませんでした 参照として追加されていません。

.NETへの参照を追加します。代わりに "

は誰でも間違いは何を私に伝えることができます。私はVSから両方の方法でCOMを登録し、またコマンドプロンプトで試しました。

答えて

10

これは、「なぜあなたはそうするのですか」というメッセージです。 [プロジェクト+参照の追加]、[参照]タブで、TLBではなくDLLを選択します。したがって、COM相互運用機能を2回実行するのではなく、.NETクラスを直接使用します。

+15

IMOそれは**「なぜ地球上ではこの仕事がないのですか」**状況です。 .NETアプリケーションは、COMクライアント(* "nwe、最新のアップデートで改善されました")でもかまいません。それは完全な停止ではなく、警告でなければなりません。 -----使用例:.NET COMコンポーネントをネイティブCOMコンポーネントに置き換えますが、.NETクライアントは両方のコンポーネントと互換性を維持する必要があります。 – peterchen

+1

..それは私が閲覧のために行くことができる真実です。しかし、私はCOMを学んでいる、と私はエラーを理解することができません!私はDLLと同様にtlbを登録しています....でも、私はsnkキーも与えました。 @peterchen .... ComVisible(真)、私は両方を試して、エラーを説明することができます。 – PawanS

+1

クライアントコードを別の言語で記述する必要があります。 Javascript、VBScript、VB6のようなものです。遅いバインディングがサポートされているので、VB.NETはそのための優れた言語です。 C#4の* dynamic *キーワード –

2

あなたが.tlbを参照しているとします。 .dllを参照する必要があります。

regsvr32に登録した後、.netのdllファイルをcomのタブに追加するだけで検索できます。詳細はhereをご覧ください。

関連する問題