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

Параллельная сборка Windows описывается манифестами. Параллельная сборка содержит коллекцию ресурсов ( группу библиотек 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.
  • Приложения и администраторы могут обновлять конфигурацию сборки на глобальной или отдельной основе после развертывания. Например, приложение можно обновить для использования параллельной сборки, которая включает обновление без необходимости переустановки приложения.