投稿者 yukihiro  (社会人) 投稿日時 2016/1/26 02:33:13
お世話になっております。

VB6.0のプログラムを.NET Frameworkで動作させるよう検討しています。
手探りで調査しているのですが、どうにもよく分からず判断ができないものがあり、書き込みをさせていただきます。

ActiveX コントロールへの参照(例えば「Comctl32.ocx」)を含んだプロジェクトをVisualStudio2008に読み込ませると、
「Interop.Comctl32.dll」「AxInterop.Comctl32.dll」という2つの参照(とDLL)が出来上がります。

この二つはComctl32.dllへの参照はどちらもラッパーだという認識ですが、
①なぜ2つあるのか(違いは何か)
②片方(Interopのみ、AxInteropのみ)のものと両方あるものの差は何か
③APから参照する順番は「.NET → AxInterop → Interop → comコンポーネント」といういう認識だが間違いないか
④Aximp.exe (Windows フォーム ActiveX コントロール インポーター)というコマンドで作成されるものと同等品という認識で間違いないか

という点について、分かる方がいらっしゃいましたら教えて頂きたいです。

以上、お手数ですがよろしくお願いいたします。