创建并行程序集的指南

以下指南讨论如何创作自己的 COM 或 Win32 并行程序集。 如果所需的功能由受支持的 Microsoft 并行程序集之一提供,则你可能不需要创建自己的 并行程序集。 在这种情况下,请使用 Microsoft 提供的程序集,并遵循使用 独立应用程序和并行程序集中的并行程序集的过程。

首先,考虑组件是否适合并行程序集。 有关详细信息,请参阅 是否应将共享组件作为并行程序集提供?

若要创建并行程序集,请遵循以下准则:

  • 确定要包含在程序集中的资源。 请记住,程序集由始终提供给应用程序和客户的一个或多个文件组成。 程序集充当用于命名、绑定、版本控制、部署和 默认配置的基本单元。 一般情况下,当不确定两个资源是否属于同一程序集时,建议编写它们以进入单独的程序集。 通常,并行程序集由单个 DLL 组成。
  • 为程序集创建程序集 清单 。 清单应描述程序集中的 COM 对象或类型库。 有关应创作到程序集清单中的内容的详细信息,请参阅 程序集清单
  • 在系统上运行多个程序集版本时,评估对象的使用情况。 确定程序集的不同版本是否需要单独的数据结构,例如内存映射文件、命名管道、已注册的 Windows 消息和类、共享内存、信号量、互斥体和硬件驱动程序。 跨程序集版本使用的任何数据结构都必须是向后兼容的版本。 确定哪些数据结构可以跨版本使用,哪些数据结构必须专用于某个版本。 确定共享数据结构是否需要单独的同步对象,例如信号灯和互斥体。
  • 遵循为并行程序集创作 DLL 中的准则,创作 DLL 以用作并行程序集。
  • 创作一组头文件和帮助程序函数,以便轻松对包含程序集状态的注册表项进行版本控制。 程序集通常将其状态设置保存在注册表项中。 注册表设置必须基于单个版本编写,以隔离可能同时运行的多个程序集版本。 设计并行程序集和 DLL,以在并行共享方案中正确存储和处理程序集的状态。 请遵循 为并行程序集创作状态存储中的准则。
  • 使用 专用程序集的应用程序的 开发人员应保护应用程序目录。 如果使用 Windows Installer 安装应用程序,则可以使用 LockPermissions 表保护应用程序目录。 通常,系统会授予对专用程序集的读取、写入和执行访问权限;所有其他进程仅获得执行和读取访问权限。
  • 使用具有并行共享的方案测试程序集,以确保它是有效的并行程序集。 程序集的成功安装不足以保证其按预期工作。
  • 采用对程序集的更新进行编号的方法。 每个程序集都与一个由四个部分构成的版本号相关联。 从左到右、主要、次要、生成和修订部分按句点分隔。 更改与早期版本不兼容的版本程序集的主要或次要编号。 仅更改生成和修订部件,以便对程序集进行向后兼容的更改。 例如,开发人员可能采用一种编号方法,其中所有 1.0.0.* 版本号都引用程序集版本 1.0.0.0 的更新版本。