私は、COM interopを通していくつかの.NET APIを公開する製品に取り組んでいます。ビルドの一部として、そのようなアセンブリすべての* .tlbファイルを生成し、別々のSDKパッケージの一部として提供します。当社の顧客は、当社製品の上にSDKをインストールし、当社のCOM APIを使用するアプリケーションを作成することができます。実行時に* .tlbファイルが使用されましたか?
これらの* .tlbファイルを製品自体に出荷して登録する必要がありますか?実行時に* .tlbが必要とされ、それらに対してコード化されたサードパーティのライブラリが実行される状況がありますか?
はいと答えた場合の動作を教えてください。私はインターネット上で、それを配信して登録しなければならないと言っている多くのコメントを見ましたが、なぜそれを行うべきかを明確に説明するものは見つかりませんでした。それは私にそれが本当であることを疑わせました。
ありがとうございました。私が探していただきありがとうございました。 – Dennis
Microsoftのドキュメントで確認済み: http://msdn.microsoft.com/en-us/library/eaw10et3.aspx#marshaling_and_com_apartments "クロスアパートメントマーシャリングのオーバーヘッドを受け入れます。これは、コールが多い場合に顕著です境界を越えてアパートメントの境界を正常に通過するためには、COMコンポーネントのタイプライブラリを登録する必要があります。 " – Dennis
http://msdn.microsoft.com/en-us/library/windows/desktop/ms692621(v=vs.85)aspx "カスタムインターフェイスのプロキシとスタブを生成するためにMIDLを使用する代わりに、タイプライブラリを生成することができ、システムが提供するタイプライブラリ駆動のマーシャリングエンジンがインターフェイスをマーシャリングします。 – Dennis