Поделиться через


Основные понятия, связанные с изолированными приложениями и параллельными сборками

Приложение называется изолированным, если все его компоненты являются параллельными сборками.Параллельная сборка коллекция группы в составе ресурсов - библиотеки DLL, классы windows, серверы модели COM, библиотеки типов, или интерфейс-, развертывание вместе и сделать доступными для приложения использовать во время выполнения.Обычно параллельная сборка — это одна или несколько библиотек DLL.

Совместно используемые и закрытые сборки

Параллельная сборка может быть совместно используемой или закрытой.Общие параллельной сборки может использоваться несколькими приложениями, в манифестах которых задана зависимость от сборке.Несколько версий параллельных сборок могут совместно использоваться разными приложениями, которые выполняются одновременно.закрытая сборка сборку, которая развертывается вместе с приложением в монопольном режиме этого приложения.Закрытые сборки устанавливаются в папку, которая содержит исполняемый файл приложения или один из ее вложенных папок.

Манифесты и порядок поиска

И автономные приложения и параллельные сборки описываются манифесты.Манифест документ XML, который может быть внешним файлом или может быть внедрены в приложение или сборку в качестве ресурса.Файл манифеста изолированного приложения используется для управления именами и версиями совместно используемых параллельных сборок, с которыми должно быть связано приложение во время выполнения.Манифест параллельной сборки задает имена, версии, ресурсы и зависимые сборки параллельных сборок.Для общей параллельной сборки соответствующего манифеста устанавливается в %WINDIR% \ WinSxS \ манифестах папку \.В случае закрытой сборки, рекомендуется включить соответствующего манифеста в библиотеку DLL как ресурс с идентификатором одинаковое значение 1.Можно также предоставить закрытой сборке одно и то же имя, что и из библиотеки DLL.Дополнительные сведения см. в разделе Закрытые сборки.

Во время выполнения, Windows использует сведения о сборке из манифеста приложения для поиска и загрузки с параллельной сборки.Если изолированное приложение определяет зависимость между сборками, операционной системы сначала ищет сборки для общих сборок в собственном кэше сборок в папке %WINDIR% \ WinSxS \.Если требуемая сборка не найдена, операционная система и поиск закрытой сборки в папке структуры каталогов приложения.Дополнительные сведения см. в разделе Порядок поиска сборки.

Изменение зависимостей

Можно зависимости между сборками изменения параллельно после развертывания приложения путем изменения Файлы конфигурации издателя и Файлы конфигурации приложения.Файл конфигурации издателя, также называемых файл политики издателя, XML-файл, который глобально перенаправляет приложения и сборки от использования одной версии параллельной сборки к использованию другой версии той же сборки.Например, можно изменить зависимость при исправление исправления ошибок или безопасность развертывания для параллельной сборки и необходимо перенаправить все приложения использовать неизменяемую версию.Файл конфигурации приложения представляет собой XML-файл, который перенаправляет конкретное приложение от использования одной версии параллельной сборки к использованию другой версии той же сборки.Можно использовать файл конфигурации приложения перенаправления конкретного приложения на использование версии параллельной сборки, которая отличается от значения, заданные в файле конфигурации издателя.Дополнительные сведения см. в разделе Конфигурация.

Библиотеки Visual C++

В Visual Studio 2005 и Visual Studio 2008, например для повторного распространения библиотеки ATL, MFC, CRT, стандартное C и C-++, OpenMP MSDIA развертываются как общие параллельной сборки к собственному кэш сборок.В Visual Studio 2010 и Visual Studio 2012, распространяемых библиотеки используют центральное развертывание.По умолчанию все приложения, построенные с помощью Visual C C-++ строятся с манифестом внедренным в последнем бинарный и манифесте описываются зависимости бинарный C - от библиотек Visual C-++.Чтобы понять создание манифеста для приложений C Visual C-++ см. в разделе Основные сведения о создании манифестов для программ C/C++.Манифест не требуется для приложений, которые статически привязаны к библиотекам, которые они используют, или, использует локальное развертывание.Дополнительные сведения о развертывании см. в разделе Развертывание в Visual C++ 2010.

См. также

Другие ресурсы

Построение изолированных приложений и параллельных сборок C/C++