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


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

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

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

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

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

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

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

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

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

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