Show/Hide Toolbars

XSharp

 

添加引用对话框中的 COM 页面列出了在计算机注册表中找到的 COM 组件。

 

您可以从中选择一个组件。

 

 

但是,X# 编译器不能直接使用这些组件。因此,Visual Studio 会调用一个工具(tlbimp.exe)来读取 COM 组件的类型库,并生成一个围绕 COM 对象的托管封装器。该封装器的名称通常以 "interop "开头。在Email 示例中,Internet Explorer 组件就属于这种情况,因此会生成 Interop.SHDocVw.dll。

 

如果 COM 组件是 ActiveX,则将生成第二个程序集,其中的代码将为 ActiveX 控件声明一个继承于 System.Windows.Forms.AxHost 的对象。Visual Stdio 为此调用了 "aximp.exe "工具。这些封装器的文件名通常以 "axinterop" 开头,如 "AxInterop.SHDocVw.dll"。

 

有些 COM 组件使用频率很高,这些组件需要在计算机上安装所谓的 "主要互操作程序集"。对于这些组件,不会生成 "互操作" 程序集,但在编译时会使用主要互操作程序集。例如,ADO 的 GAC 中就有一个主要互操作程序集。

 

COM references 1