Глобальный кэш сборок (GAC)

Автор: Peter Berry
Дата создания: 19 Август 2021
Дата обновления: 10 Май 2024
Anonim
.NET GAC Folder
Видео: .NET GAC Folder

Содержание

Определение - Что означает Global Assembly Cache (GAC)?

Глобальный кэш сборок (GAC) - это папка в каталоге Windows для хранения сборок .NET, которые специально предназначены для совместного использования всеми приложениями, выполняемыми в системе.


Концепция GAC является результатом архитектуры .NET, дизайн которой решает проблему «ада DLL», существовавшего в COM (объектная модель компонентов). В отличие от COM, сборка в GAC не требует регистрации перед ее использованием. Доступ к каждой сборке осуществляется по всему миру без каких-либо конфликтов путем определения ее имени, версии, архитектуры, культуры и открытого ключа.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Techopedia объясняет глобальный кэш сборок (GAC)

GAC - это машинный кэш кода, используемый для параллельного выполнения сборок. GAC реализует функцию разделяемой библиотеки, где различные приложения повторно используют код, помещенный в файлы, расположенные в общей папке. В .NET 4.0 его расположение по умолчанию:% windir% Microsoft.NET assembly

GAC также является первым в пути поиска при загрузке сборки .NET. Единственное требование для сборки, которая должна быть развернута в GAC, - это иметь строгое имя. CLR (Common Language Runtime) ссылается на сборку, основанную на конкретной версии, упомянутой вызывающим приложением. Виртуальная файловая система GAC помогает получить сборку для конкретной версии.

Двумя инструментами, связанными с GAC, являются GAC Tool (gacutil.exe) и Assembly Cache Viewer (shfusion.dll). GAC Tool используется для проверки существования сборки, регистрации общей сборки, просмотра и манипулирования содержимым GAC и т. Д. Будучи системной папкой, для ее использования требуются права администратора. Сборка кэша сборок используется для отображения сведений (версия, культура и т. Д.), Связанных со сборками, содержащимися в кэше.

GAC обеспечивает преимущества повторного использования кода, защиты файлов (благодаря установке в каталоге 'systemroot' и, следовательно, удаление только пользователями с правами администратора), параллельного выполнения (позволяя нескольким версиям сборки храниться в одной и той же папке). ), и т.д.

Одним из недостатков использования GAC является то, что версия .NET Framework, установленная в системе, где используется GAC, и версия, используемая для компиляции приложения, должны быть одинаковыми. Кроме того, строгие имена нельзя применять к сборкам (например, стороннему коду), от которых зависят сборки, находящиеся в папке GAC.