如何:自定义运行库可调用包装

更新:2007 年 11 月

自定义运行库可调用包装 (RCW) 的方法有两种。如果可以修改接口定义语言 (IDL) 源,就可以应用类型库文件 (TLB) 属性并导入类型库。或者,您可以将互用特定属性应用于导入的类型并生成新的程序集。是否支持自定义标准的 RCW 将受到这些属性的限制。

修改 IDL 源

  1. 将 TLB 属性应用于库、类型、成员和参数。使用 custom 关键字和属性值来更改元数据。通过应用 TLB 属性,您可以:

    • 指定导入的 COM 类型的托管名称,而不是允许导入实用工具根据标准转换规则来选择名称。

    • 显式地定义类型在 COM 库中的目标命名空间。

  2. 编译 IDL 源代码。

  3. 从所得类型库文件或从动态链接库文件 (DLL) 中生成一个程序集,其中包含要实现的类型。

修改导入的程序集

  1. 导入类型库文件。使用类型库导入程序 (Tlbimp.exe) 可生成程序集 DLL。

  2. 使用 MSIL 反汇编程序 (Ildasm.exe) 从导入的程序集中创建一个文本文件。

  3. Interop 属性应用于该文本文件。

  4. 使用 MSIL 汇编程序 (Ilasm.exe) 从已修改的文本文件中生成新的程序集。

请参见

概念

自定义标准包装

COM 包装

运行库可调用包装

COM 可调用包装

应用 Interop 属性

参考

类型库导入程序 (Tlbimp.exe)

MSIL 反汇编程序 (Ildasm.exe)

MSIL 汇编程序 (Ilasm.exe)

其他资源

有关从类型库转换到程序集的摘要

有关从程序集转换到类型库的摘要