命名主互操作程序集

为便于识别,为主 Interop 程序集选择的名称应类似原 COM 类型库的名称,并且应足够具体,可以帮助开发人员找到正确的程序集。 与其他程序集一样,主 Interop 程序集的名称对该程序集的范围有很大的影响,并且由多个应用程序使用。

该名称是在生成主 Interop 程序集时指定的。 通常,主 Interop 程序集是通过导入类型库生成的。 有关导入类型库的详细信息,请参见生成主 Interop 程序集

命名元素

必须使用标准公钥密码系统用强名称为主 Interop 程序集进行签名。 除公钥外,还有两个重要命名元素:

  • 程序集文件名。

    程序集文件名必须与程序集名称相匹配(不包括文件扩展名,例如 .exe 或 .dll)。 默认情况下,导出过程使用类型库名称(而不是类型库文件名)来生成程序集名称和程序集文件名。 类型库名称和类型库文件名不一定完全相同。 例如,如果导入 MyComponent.tlb 文件中的 MyTypeLib 类型库,则默认程序集名称是 MyTypeLib,而默认程序集文件名是 MyTypeLib.dll。

    作为一般指导原则,请使用 VendorName.LibraryName 组合来标识主 Interop 程序集。 例如,若要完全标识由 MyCompany 发行的 MyTypeLib 类型库,导入该类型库时应使用 MyCompany.MyTypeLib.dll 重写默认程序集文件名 (MyTypeLib.dll)。

  • 命名空间名称。

    导入类型库时,导入过程使用类型库名称来生成命名空间名称。 通过在导入过程中重写默认命名空间,可以指定命名空间的名称。 对于命名空间,应使用与程序集名称相同的命名约定 (VendorName.LibraryName)。

命名时应考虑的问题

应考虑以下命名问题:

  • 在将来的某个时间,您可能会希望实现某项现有 COM 技术的托管版本。 在这种情况下,应考虑对主 Interop 程序集使用 VendorName.LibraryName.Interop 命名空间组合,保留 VendorName.LibraryName 用于托管程序集。

  • 通过使用默认程序集名称、程序集文件名和命名空间名称,您的命名策略还可以在原 COM 类型库和主 Interop 程序集之间保持源兼容性。 虽然说明性不强,但此策略非常适用于已知库,例如 Microsoft Visual Basic 6.0 中的 ADODB(ADO 库)。

请参见

概念

产生主互操作程序集

生成主互操作程序集

自定义主互操作程序集

向开发人员分发主互操作程序集