Сведения о параллельных сборках

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

Как правило, параллельная сборка представляет собой одну библиотеку DLL. Например, сборка Microsoft COMCTL32 представляет собой одну библиотеку DLL с манифестом, тогда как сборка библиотек времени выполнения системы разработки Microsoft Visual C++ содержит несколько файлов. Манифесты содержат метаданные , описывающие параллельные сборки и зависимости параллельных сборок.

Параллельные сборки используются операционной системой в качестве основных единиц именования, привязки, управления версиями, развертывания и настройки. Каждая параллельная сборка имеет уникальное удостоверение. Одним из атрибутов удостоверения сборки является его версия. Дополнительные сведения см. в разделе "Версии сборок".

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

representation of typical side-by-side assembly

В предыдущем примере оба Comctl32.DLL версии 6.0 и Comctl32.DLL версии 5.0 находятся в параллельном кэше сборок и доступны для приложений. Когда приложение вызывает загрузку библиотеки DLL, параллельный диспетчер определяет, имеет ли приложение зависимость от версии, описанную в манифесте. Если соответствующий манифест отсутствует, система загружает версию сборки по умолчанию. Для Windows XP версия 5.0 Comctl32.DLL является системным значением по умолчанию. Если параллельный диспетчер находит зависимость от версии 6.0, указанной в манифесте, эта версия загружается для запуска с приложением.

Некоторые ключевые системные сборки предоставляются корпорацией Майкрософт в виде параллельных сборок. Дополнительные сведения см. в разделе "Поддерживаемые параллельные сборки Майкрософт". Разработчики приложений также могут создавать собственные параллельные сборки. Дополнительные сведения см. в руководстве по созданию параллельных сборок. Во многих случаях можно обновить существующие приложения для использования параллельных сборок, не изменяя код приложения.

Разработчикам рекомендуется использовать параллельные сборки для создания изолированных приложений и обновления существующих приложений в изолированные приложения по следующим причинам:

  • Параллельные сборки снижают вероятность конфликтов версий DLL.
  • Параллельное совместное использование сборок позволяет одновременно запускать несколько версий COM или Windows сборок.
  • Приложения и администраторы могут обновлять конфигурацию сборки на глобальной или отдельной основе после развертывания. Например, можно обновить приложение, чтобы использовать параллельную сборку, включающую обновление без необходимости переустановки приложения.