独立应用程序和并行程序集的概念

如果应用程序的所有组件都是并行程序集,则该应用程序被视为独立应用程序。一个并行程序集是 DLL 的资源组的集合,窗口选件类,COM 服务器,类型库,或接口一起部署并使其可供应用程序使用在运行时。通常,并行程序集是一个或若干个 DLL。

共享或私有

并行程序集可以是共享或私有的。共享的并行程序集 能由指定的各种应用程序使用,这些清单,对该程序集的依赖项。并行程序集的多个版本可由同时运行的其他应用程序共享。私有程序集 与到该应用程序的独占访问权的应用程序一起部署的程序集。私有程序集安装在包含该子文件夹应用程序的可执行文件或之一的文件夹中。

清单和搜索顺序

两个独立应用程序和并行程序集是由 指示描述。清单是在应用程序或程序集是外部文件或可作为资源嵌入的 XML 文档。独立应用程序的清单文件用于管理共享的并行程序集的名称和版本,应用程序应当在运行时绑定到这些程序集。并行程序集的清单用于指定并行程序集的名称、版本、资源和依赖程序集。对于共享的并行程序集,其清单安装在 %WINDIR%\WinSxS\manifests\ 文件夹。对于私有程序集,建议您在 DLL 将其清单作为具有 ID 等于 1. 的资源。还可以让私有程序集名称以及该 DLL 同名。有关更多信息,请参见私有程序集

执行时,windows 将使用从应用程序清单的程序集信息搜索和加载相应的并行程序集。如果独立应用程序指定程序集依赖项,操作系统首先搜索在共享程序集中的程序集在 %WINDIR%\WinSxS\ 文件夹本机程序集缓存中。如果未找到所需的程序集,则操作系统搜索在应用程序目录结构中文件夹的私有程序集。有关更多信息,请参见程序集搜索顺序

更改依赖项

可以更改在应用程序后处理依赖项通过修改 发行者配置文件应用程序配置文件部署的并行程序集。发行者配置文件,也称为发行者策略文件,是全局重定向应用程序和程序集重定向从使用并行程序集的一个版本变为使用同一程序集的另一个 XML 文件。例如,可以将依赖项,当 bug 修复或安全解决为一个并行程序集时部署,并且要重所有应用程序使用内置的版本。应用程序配置文件是将其从使用并行程序集的一个版本的特定应用程序定向到使用同一程序集的另一个 XML 文件。您可以使用应用程序配置文件重定向特定的应用程序使用与个不同于发行者配置文件中定义并行的程序集的版本。有关更多信息,请参见配置

Visual C++ 库

在 Visual Studio 2005 和 Visual Studio 2008,可再发行库 (如 MFC、ATL,CRT、标准 C++、OpenMP 和 MSDIA 部署作为共享的并行程序集到本机程序集缓存中。在 Visual Studio 2010 和 Visual Studio 2012,可再发行库使用集中部署。默认情况下,生成使用 Visual C++ 的所有应用程序会在最终二进制文件中嵌入的清单和部署清单生成介绍二进制文件的依赖项在 Visual C++ 库的。若要了解 Visual C++ 应用程序的清单生成,请参见 了解 C/C++ 程序的清单生成。清单对于与库静态链接到它们使用,或者使用本地部署的应用程序所必需的。有关部署的更多信息,请参见Visual C++ 2010 中的部署

请参见

其他资源

生成 C/C++ 独立应用程序和并行程序集