Будинки In-The News Що таке кеш глобальної збірки (gac)? - визначення з техопедії

Що таке кеш глобальної збірки (gac)? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає кеш глобальної асамблеї (GAC)?

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

Концепція GAC є результатом архітектури .NET, дизайн якої стосується проблеми "DLL пекла", що існувала в COM (Component Object Model). На відміну від COM, немає необхідності, щоб збірка в GAC була зареєстрована до її використання. До кожної асамблеї можна отримати глобальний доступ без будь-якого конфлікту шляхом ідентифікації її імені, версії, архітектури, культури та відкритого ключа.

Техопедія пояснює кеш глобальної асамблеї (GAC)

GAC - це машинний кеш-код, який використовується для одночасного виконання збірок. GAC реалізує функцію спільної бібліотеки, коли різні програми повторно використовують код, розміщений у файлах, розташованих у загальній папці. У .NET 4.0 його місце за замовчуванням знаходиться:% windir% \ Microsoft.NET \ Assembly


GAC також є першим на шляху пошуку при завантаженні збірки .NET. Єдиною вимогою до збірки, яка буде розгорнута в GAC, є те, що вона повинна мати чітку назву. CLR (Common Language Runtime) посилається на збірку, засновану на конкретній версії, згаданій програмою, що викликає. Віртуальна файлова система GAC допомагає отримати конкретну версію збірки.


Два інструменти, пов'язані з GAC, - це інструмент GAC (gacutil.exe) та переглядач кеш-збирання (shfusion.dll). Інструмент GAC використовується для перевірки наявності складання, реєстрації спільної збірки, перегляду та маніпулювання вмістом GAC тощо. Будучи системною папкою, для її використання потрібні права адміністратора. Переглядач асемблерного кешу використовується для відображення деталей (версії, культури тощо), пов’язаних із збірками, що містяться в кеші.


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


Одним з недоліків використання GAC є те, що версія .NET Framework, встановлена ​​в системі, де використовується GAC, та версія, яка використовується для компіляції програми, повинна бути однаковою. Також сильні назви не можуть застосовуватися до збірок (наприклад, код сторонніх розробників), від яких залежать збори, що знаходяться в папці GAC.

Що таке кеш глобальної збірки (gac)? - визначення з техопедії