关于并行程序集

一Windows并行程序集由清单描述。 并行程序集包含始终一起提供给应用程序的一组资源(一组 DLL、Windows 类、COM 服务器、类型库或接口)。 这些在程序集清单中进行了说明。

通常,并行程序集是单个 DLL。 例如,Microsoft COMCTL32 程序集是一个包含清单的 DLL,Microsoft Visual C++开发系统运行时库程序集包含多个文件。 清单包含 描述 并行程序集和并行程序集依赖项的元数据。

并行程序集由操作系统用作命名、绑定、版本控制、部署和配置的基本单元。 每个并行程序集都有唯一的标识。 程序集标识的一个属性是其版本。 有关详细信息,请参阅 程序集版本

从 Windows XP 开始,同时运行的应用程序可以使用多个版本的并行程序集。 加载程序使用清单和程序集版本号来确定程序集版本与应用程序的正确绑定。 并行程序集和清单与应用程序和并行管理器一起工作,如下图所示。

典型并行程序集的表示形式

在上一示例中,Comctl32.DLL版本 6.0 和 Comctl32.DLL 5.0 都同时在并行程序集缓存中,并且可供应用程序使用。 当应用程序调用 来加载 DLL 时,并行管理器将确定应用程序是否具有清单中所述的版本依赖关系。 如果没有相关的清单,系统将加载程序集的默认版本。 对于 Windows XP,系统默认Comctl32.DLL版本 5.0。 如果并行管理器发现与清单中声明的版本 6.0 的依赖关系,则加载该版本以与应用程序一起运行。

Microsoft 提供了多个关键系统程序集作为并行程序集。 有关详细信息,请参阅支持的 Microsoft 并行程序集。 应用程序开发人员还可以创建自己的并行程序集。 有关详细信息,请参阅 并行程序集的创建指南。 在许多情况下,可以更新现有应用程序以使用并行程序集,而无需更改应用程序代码。

建议开发人员使用并行程序集来创建独立应用程序,并出于以下原因将现有应用程序更新为独立应用程序:

  • 并行程序集可降低 DLL 版本冲突的可能性。
  • 并行程序集共享使多个版本的 COM 或Windows程序集可以同时运行。
  • 应用程序和管理员可以在部署后以全局配置或按应用程序配置更新程序集配置。 例如,可以更新应用程序以使用包含更新的并行程序集,而无需重新安装该应用程序。