「アセンブリを COM 参照可能にする」と「COM 相互運用機能の登録」の意味

2025年7月6日 15時46分

アセンブリを COM 参照可能にする

ComVisible が true に設定される。⇒ COM 参照可能なDLL としてビルドされる。
※ただし、これだけでは COM から参照できない(レジストリへの登録が行われないため)

AssemblyInfo.cs
// ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
// 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
// その型の ComVisible 属性を true に設定してください。
[assembly: ComVisible(true)]

COM 相互運用機能の登録

ビルド時に DLL がレジストリに登録される。

  • HKEY_CLASSES_ROOT\
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\
  • HKEY_CLASSES_ROOT\TypeLib{アセンブリ(DLL)のGuid}\
  • HKEY_CLASSES_ROOT\WOW6432Node\CLSID{不明なGuid}\
  • HKEY_CLASSES_ROOT\WOW6432Node\TypeLib{アセンブリ(DLL)のGuid}\

ソリューション(プロジェクト)をクリーンした場合、レジストリの登録が解除される。