Global Assembly Cache

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

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

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

Функции

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

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

GAC может хранить несколько разных версий сборок CLI, приложение при запуске запрашивает необходимую версию сборки.

Регистрация своей сборки

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

См. также

  • .NET Framework

Ссылки

  • .NET Framework Developer’s Guide
  • Global Assembly Cache Tool (gacutil.exe)
  • Demystifying the .NET Global Assembly Cache
  • John, Mueller Ten Managed Application Pitfalls that Kill Version Compatibility  (неопр.). devsource.com (11 февраля 2005). Дата обращения: 26 января 2008. Архивировано 21 января 2013 года.