Global Assembly Cache

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая A5b (обсуждение | вклад) в 09:39, 16 октября 2013 (from cc-by-sa 3 https://en.wikipedia.org/ruwiki/w/index.php?title=Global_Assembly_Cache&a). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Global Assembly Cache (GAC - Глобальный Кэш Сборок) - в инфраструктуре .NET - подсистема, хранящая сборки CLI (CLI assembly) в централизованном репозитории. Система разработана для борьбы с проблемами разделяемых библиотек, например таких, как DLL hell.

К сборкам, расположенным в GAC, предъявляется несколько требований. В частности, они должны использовать strong name, соблюдать строгую схему указания версий и допускать исполнение нескольких версий кода в рамках единого приложения.

Два способа взаимодействия с GAC: утилита gacutil.exe и библиотека просмотра кеша: shfusion.dll.

Функции

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

Гарантирует их безопасность, т.е. чтобы пользователь их не удалил и т.п., так как каталог GAC находится в папке Windows которая защищена.

GAC также хранит разные версии сборок, приложение при запуске выбирает ему необходимую сборку. К примеру ваше приложение использует две сборки с одинаковым именем: одна из них версии 1.0, а вторая 2.0. В одну папку их не положишь, зато GAC может их хранить спокойно.

Создание своей сборки

Запустить из командной строки gacutil.exe /i <ИмяСборки>

Смотрите также

Ссылки