如何:手动创建主互操作程序集
用于生成类型库的另一个不常使用的方法是,使用符合公共语言规范 (CLS) 的语言(例如,C#)在源代码中手动创建主互操作程序集。 在没有类型库时,可以使用这种方法。
在源代码中生成主互操作程序集
在源代码中创建一个互操作程序集。 有关说明,请参见手动创建包装。 请注意,手动创建主互操作程序集时,必须包括原类型库中的所有 COM 类型。
在程序集级别上,应用以下特性:
AssemblyKeyFileAttribute 或 AssemblyKeyNameAttribute,指定包含密钥对的文件或容器的名称。用强名称为程序集签名时要使用该密钥对。
GuidAttribute,指定目标类型库的库标识符 (LIBID)。
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)]