Топ питань
Часова шкала
Чат
Перспективи
Global Assembly Cache
З Вікіпедії, вільної енциклопедії
Remove ads
Global Assembly Cache (укр. Глобальний кеш збірок) або GAC — це кеш .NET-збірок для платформи Microsoft's CLR в межах одного комп'ютеру. Концепція контрольованого єдиного репозиторію адрес та загальних бібліотек (shared libraries) допомагає уникати пасток, які ведуть до таких проблем, як DLL hell — проблеми підтримки бібліотек без зворотної сумісності та стандартів іменування.
Вимоги
.NET-збірки, які розташовані у GAC повинні дотримуватися спеціальних правил для керування версіями, які дозволяють коду з різних версій виконуватись в контексті однієї програми, методу. Збірки у GAC повинні іменуватися згідно з конвенцією іменування Strong key.
Використання
Microsoft підтримує два шляхи для роботи з Global Assembly Cache:
- Global Assembly Cache Tool (gacutil.exe)
- Assembly Cache Viewer (shfusion.dll)
Global Assembly Cache Tool
gacutil.exe це стара утиліта командного рядка, яка входила ще до .NET 1.1 та досі доступна у .NET SDK.[1]
Команда для перевірки доступності збірки в GAC:
gacutil.exe /l <assemblyName>
Команда для реєстрації збірки в GAC:
gacutil.exe /i <assemblyName>
Зареєструвати збірку можна й звичним копіюванням файлів у директорію:
%windir%\assembly\
У .NET 4.0 ця директорія змінена на:
%windir%\Microsoft.NET\assembly\.
Інші параметри утиліти можна прочитати, додавши прапорець /?:
gacutil.exe /?
Assembly Cache Viewer
Це інтерфейс роботи з кешем, інтегрований в Windows Explorer[2]. Цей файловий менеджер дозволяє бачити всі сбірки, які входять у GAC, їх версії, публічні ключі, та цільову архітектуру. Збірки інсталюються за допогому drag-n-drop та деінсталюються звичним видаленням файлів.
Разом з випуском .Net Framework 4, Assembly Cache Viewer була визнана застарілою.[3]
Remove ads
Приклад використання
Уявимо, що на комп'ютері є дві .NET-збірки, що мають однакове ім'я AssemblyA, але одна з них має версію 1.0, а інша — 2.0. Оскільки GAC потребує, щоб обидві збірки мали ім'я AssemblyA, вони не можуть існувати в одній директорії в файлових системах FAT32 та NTFS. Зате, віртуальна файлова система Global Assembly Cache це дозволяє, та може бути використана програмами, які використовують різні версії однієї збірки окремо.
Див. також
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads