- - PR -
【C#】COM参照の追加に関して
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-08 14:07
C#でプログラムを組んでいるのですが、下記に関してご存知の方
いらっしゃいましたら教えてください。 C#でアプリを作成しているのですが、 プロジェクトから『参照の追加』→『COMタブ』を選択し、 『Microsoft Office 11.0 Object Library』を追加します。 これをビルドすると、下記ファイルもアプリと出力されます。 ・Interop.Microsoft.Office.Core.dll あわせてインストーラを作成しており、 PJのプライマリ出力をインストールしています。 (→このとき、上記ファイルも配布されています。) ここで質問なのですが、 【質問1】 上記ファイル『Interop.Microsoft.Office.Core.dll』は何なのでしょうか? (このファイル自体に処理系が実装されているのでしょうか? それともGACへの名前解決を提供するファイルに過ぎないのでしょうか?) 【質問2】 上記ファイルが『名前解決を提供するファイルに過ぎない』のであれば、 アプリケーション起動時にはどのようなシーケンスでDLLのロード動作 が走っているのでしょうか? ※COMであればレジストリのはずでしょうか...!? C#での相互運用、GAC(Global Assembly Cashe)に関しての資料 (MSDN、@IT)を読んだのですが、.NETでは、GACを探す (→少なくともレジストリはサーチしていない。) ように読み取りました。(←もしかして理解不足でしょうか...?) ただ、評価環境『WinXP(SP2)+Office2003(SP2)』では、GACに Officeコンポーネントの登録がないにもかかわらず動作しています。 これは、もし【質問1】の答えが、『GACへの名前解決を提供するファイルに過ぎない』 のであれば、おかしいように思うのですが... このあたりの動作ってどうなっているのでしょうか? ご存知の方いらっしゃいましたら、よろしくお願い致します。 | ||||||||
|
投稿日時: 2006-03-08 14:16
COM を CLR から利用するためのラッパーです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-08 15:05
回答ありがとうございます。
>COM を CLR から利用するためのラッパーです。 とのことですが、COMのラッッパーとすると、 COMの実ファイルへのパス解決方法はどうなっているのでしょうか? GACからファイルを探すのでしょうか? レジストリからファイルを探すのでしょうか? (通常COMは、レジストリですよね?) あくまでCOMラッパーなので、ラッパーは、 レジストリをサーチするということでしょうか? 先ほど気づいたのですが、アプリインストールで、 MSO.dllというファイル(サイズ:11MB)がインストール されています。これがCOM本体?でしょうか。 ただアプリのビルド時には出力されず、インストール時にだけ出力されています。 カレントなので、GACフォルダを確認する前にこれをロードするということでしょうか? 以上、お忙しいとは思いますが、よろしくお願いいたします。 | ||||||||
|
投稿日時: 2006-03-08 16:15
もちろんレジストリです.
検索すると,アクティベーション関連のようですが….何でしょう. _________________ 囚人のジレンマな日々 |
1