Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Анализ внутренней структуры GAC
Анализ внутренней структуры GAC
Итак, все работает. Теперь давайте посмотрим на внутреннюю структуру GAC. При просмотре папки GAG в программе Проводник Windows вы видите ряд пиктограмм, изображающих каждый из общедоступных компоновочных блоков всех имеющихся версий. Эта графическая оболочка обеспечивается COM-сервером shfusion.dll. Но, как вы можете подозревать, за этими пиктограммами должна скрываться сложная (хотя и вполне логичная) структура каталогов.
Чтобы понять, что на самом деле представляет собой структура GAC, откройте окно командной строки и перейдите в каталог assembly.
cd c:windowsassembly
Выберите в командной строке команду dir. В этом каталоге, среди прочего, вы обнаружите папку с названием GAC_MISL (рис. 11.26).
Рис. 11.26. Скрытый подкаталог GAC_MSIL
Перейдите в каталог GAC_MSIL и снова выберите команду dir. Теперь вы увидите список подкаталогов, которые имеют в точности такие же имена, как и пиктограммы, отображаемые сервером shfusion.dll. Перейдите в подкаталог CarLibrary и снова выберите команду dir (рис. 11.27).
Рис. 11.27. Внутри скрытого подкаталога CarLibrary
Как видите, в структуре GAC для каждой версии общедоступного компоновочного блока создается свой подкаталог, имя которого выбирается по правилу ‹версияКомпоновочногоБлока›__кодОткрытогоКлюча. Если из текущего каталога вы перейдете в каталог CarLibrarу версии 1.0.0.0, то обнаружите там копию соответствующей библиотеки программного кода (рис .11.28).
Рис. 11.28. Смотрите! Внутренняя копия GAC библиотеки CarLibrary.dll!
При установке строго именованного компоновочного блока в структуру GAC операционная система расширяет структуру путем создания специального подкаталога в системном каталоге assembly. При таком подходе среда CLR может использовать разные версии, компоновочных блоков, избегая конфликтов, которые иначе могли бы возникать из-за наличия файлов *.dll с одинаковыми названиями.
- Роль компоновочных блоков .NET
- Формат компоновочного блока .NET
- Создание и использование одномодульных компоновочных блоков
- Создание и использование многомодульных компоновочных блоков
- Приватные компоновочные блоки
- Общедоступные компоновочные блоки
- Использование общедоступных компоновочных блоков
- Конфигурация общедоступных компоновочных блоков
- Анализ внутренней структуры GAC
- Файлы политики публикации компоновочных блоков
- Элемент ‹codeBase›
- Пространство имен System.Configuration
- Файл конфигурации машины
- Общая схема связей компоновочных блоков
- Резюме
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- 9.1. Проблема синтаксического анализа
- 2.12.2. Анализ усилительных каскадов в области малых времен
- Глава 5. Разработка и анализ бизнес-планов в системе Project Expert
- 4.4.3.3. План-фактный анализ продаж
- 1.4 Структуры данных, связанные с драйверами устройств Windows
- Кросс-категориальный анализ
- Приложение Глава 33. ABC-анализ
- Анализ CIL-кода
- Анализ роста продаж в связи с промоакциями
- ВЛОЖЕННЫЕ СТРУКТУРЫ
- Ситуационный анализ