Работа со сборками и глобальным кэшем сборок
Обновлен: Ноябрь 2007
Если необходимо обеспечить возможность совместного использования сборки в нескольких приложениях, то ее можно поместить в глобальный кэш сборок. Этот кэш кода уровня компьютера присутствует на любом компьютере, где установлена среда CLR. В глобальном кэше сборок хранятся сборки, специально предназначенные для совместного использования несколькими приложениями, установленными на компьютере. Для установки в глобальном кэше сборка должна иметь строгое имя.
Примечание. |
---|
Имя сборки, установленной в глобальном кэше сборок, должно совпадать с именем файла (без учета расширения имени файла). К примеру, файл сборки с именем myAssembly должен иметь имя myAssembly.exe или myAssembly.dll. |
Прибегать к совместному использованию сборок путем их установки в глобальном кэше следует только при необходимости. Как правило, зависимости между сборками следует сохранять закрытыми, а сборки нужно размещать в каталоге приложения, если только совместное использование сборки не подразумевается в явной форме. Кроме того, установка сборок в глобальном кэше для обеспечения доступа к ним с помощью COM-взаимодействия или из неуправляемого кода не является обязательной.
Существует несколько причин для установки сборки в глобальном кэше сборок.
Совместное расположение.
Используемые несколькими приложениями сборки можно располагать в глобальном кэше сборок. Например, если все приложения используют сборку, расположенную в глобальном кэше сборок, то в файл Machine.config может быть добавлена инструкция политики выбора версий, которая перенаправляет ссылки на эту сборку.
Безопасность файлов.
Администраторы часто защищают корневой каталог системы с помощью списка управления доступом (ACL), чтобы иметь возможность контролировать доступ на запись и выполнение. Поскольку глобальный кэш сборок размещается в корневом каталоге системы, то он наследует список ACL этого каталога. Рекомендуется предоставлять право на удаление файлов из глобального кэша сборок только тем пользователям, которые имеют права доступа администратора.
Управление параллельными версиями.
В глобальном кэше сборок может храниться несколько сборок, имеющих одинаковое имя, но различные сведения о версии.
Дополнительное место для поиска.
Перед проверкой или использованием данных о базе кода в файле конфигурации среда CLR ищет в глобальном кэше сборки, соответствующие запросу.
Обратите внимание, что существуют сценарии, в которых установка сборки в глобальный кэш сборок явно не требуется. Если одна из составляющих приложение сборок помещается в глобальный кэш, то после этого нельзя будет скопировать или установить приложение с помощью команды XCOPY путем копирования каталога приложения. В этом случае также требуется переместить сборку в глобальный кэш сборок.
В этом подразделе
Практическое руководство. Установка сборки в глобальный кэш сборок
Описание четырех способов установки сборки в глобальном кэше сборок.Практическое руководство. Просмотр содержимого глобального кэша сборок
Описание способа применения Программа глобального кэша сборок (Gacutil.exe) для просмотра содержимого глобального кэша сборок.Практическое руководство. Удаление сборки из глобального кэша сборок
Описание способа применения Программа глобального кэша сборок (Gacutil.exe) для удаления сборки из глобального кэша сборок.Использование обслуживаемых компонентов с глобальным кэшем сборок
Описание причин, по которым обслуживаемые компоненты (управляемые компоненты COM+) следует помещать в глобальный кэш сборок.
Связанные подразделы
Создание сборок
Основные сведения о создании сборок.Глобальный кэш сборок
Описание глобального кэша сборок.Практическое руководство. Просмотр содержимого сборок
Описание способа применения средства Дизассемблер MSIL (Ildasm.exe) для просмотра сведений MSIL, содержащихся в сборке.Обнаружение сборок в среде выполнения
Описание порядка, в котором среда CLR ищет и загружает сборки, составляющие приложение.Программирование с использованием сборок
Описание сборок — блоков, из которых строятся управляемые приложения.