如何:手动创建主互操作程序集

用于生成类型库的另一个不常使用的方法是,使用符合公共语言规范 (CLS) 的语言(例如,C#)在源代码中手动创建主互操作程序集。 在没有类型库时,可以使用这种方法。

在源代码中生成主互操作程序集

  1. 在源代码中创建一个互操作程序集。 有关说明,请参见手动创建包装。 请注意,手动创建主互操作程序集时,必须包括原类型库中的所有 COM 类型。

  2. 在程序集级别上,应用以下特性:

    1. AssemblyKeyFileAttributeAssemblyKeyNameAttribute,指定包含密钥对的文件或容器的名称。用强名称为程序集签名时要使用该密钥对。

    2. GuidAttribute,指定目标类型库的库标识符 (LIBID)。

    3. PrimaryInteropAssemblyAttribute,将程序集标识为主互操作程序集。

      备注

      在编译时也可延迟为程序集签名。有关更多信息,请参见延迟为程序集签名

    下面的代码示例用名为 CompanyA.snk 的密钥文件应用 AssemblyKeyFileAttribute 属性,并指定该程序集是一个支持类型库版本 4.2 和 5.2 的主互操作程序集。 如此例所示,可以通过添加程序集级别特性来包装类型库的多个版本。

    [assembly:AssemblyKeyFile(@"..\..\CompanyA.snk")]
    [assembly:Guid("97d25db0-0363-1cf-abc4-02608 c9e7553"]
    [assembly:PrimaryInteropAssembly(4, 2)]
    [assembly:PrimaryInteropAssembly(5, 2)]
    

请参见

任务

如何:使用 Tlbimp.exe 生成主互操作程序集

如何:包装类型库的多个版本

概念

生成主互操作程序集

产生主互操作程序集