2013-09-27 67 views
6

内部でMicrosoft.mshtml.dllを使用しているC#BHOを作成しました。今このBHOをパッケージ化するには、Microsoft.mshtml.dllも配布する必要があります。このdllを私のDLLに追加するのはいいですか?法的な問題?このBHOは、Microsoft.mshtml.dllがVisual Studio(C:\ Windows \ assembly \ GAC \ Microsoft.mshtml \ 7.0.3300.0__b03f5f7f11d50a3a \ Microsoft.mshtml.dll)に存在するため、dev環境で正常に動作します。それぞれのマシンのケース。提案してください。Microsoft.mshtml.dll再配布の問題

+4

私は、プログラミングやソフトウェア開発ではなく、ライセンスや法的問題に関するものであるため、この質問を議論の対象外としています。 [ここをクリック](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)および[ここ](http://meta.stackexchange.com/questions/139804/can-トピックについてのライセンス供与に関する質問)、詳細については[ヘルプ]を参照してください。 – JasonMArcher

答えて

6

interopアセンブリです。コードは含まれていません。ちょうど宣言は、COMタイプライブラリから自動生成されます。したがって、再配布は問題ありません。 GACにインストールされる唯一の理由は、それがプライマリinteropアセンブリであるPIAであるためです。独自のパブリックメソッドのインターフェイスを公開するクラスライブラリを作成する場合にのみ、PIAが必要です。このようなライブラリのクライアントは、メソッドを使用できるようにinteropアセンブリへの参照を必要とし、使用するメソッドと同じものでなければなりません。これは一般的には稀ですが、特にBHOではそうです。

VS2010より前のVisual Studioバージョンを使用している場合は、アセンブリ参照の[ローカルコピー]プロパティを[True]に設定するだけです。再構築すると、独自の実行可能ファイルと共に展開できるDLLのコピーが手に入ります。

VS2010以上では、実際に埋め込み相互運用機能のタイプを優先します。これは、自分のアセンブリ内のインターフェイス宣言を埋め込みます。実際に使用するインターフェイス宣言のみです。あなたのBHOの配布可能なサイズを小さく保つのに大いに役立ちます。そのinteropアセンブリを展開する必要がなくなります。強く推奨する。

+0

だから私はVstudio2010でチェックします。他のオプションもうまくいくはずです。私はそれをbho dllでパッケージ化できます。ハンス、応答ありがとう! – Jackie

関連する問題