Просмотр кэша

Взглянем на кэш, чтобы увидеть установленные в данный момент совместно используемые сборки. Из Microsoft Explorer откройте папку c:winnt assembly. Для просмотра информации о сборках .NET представляет утилиту Assembly Cache Viewer (shfusion.dll). Она позволяет просматривать такую информацию о сборке, как номер версии, маркер открытого ключа и даже была ли сборка прекомпилирована.


Еще одно средство просмотра кэша — утилита Global Assembly Cache — позволяет решать некоторые задачи, задавая в командной строке такие (взаимоисключающие) ключи.



  • – i Этот флаг устанавливает сборку в глобальный кэш сборки. Например:
gacutil -i HelloWorld.DLL

Скоро вы увидите как добавить сборку Module3Client в кэш с помощью этого ключа.



  • – u Этот флаг удаляет сборку и любую информацию о версиях из глобального кэша сборки. Если вы не укажете информацию о версии, будут удалены все сборки с заданным именем. Поэтому первый приведенный здесь пример удаляет все сборки с именем HelloWorld независимо от номера версии, а второй удаляет только указанную версию:
gacutil -u HelloWorld
gacutil -u HelloWorld, ver=1,0,0,0


  • – / Этот флаг выводит список содержимого глобального кэша сборки, включая им сборки, номер версии, расположение и совместно используемое имя.

Итак, вы создали файл открытого ключа и назначили его сборке. Теперь добавим эту сборку в кэш. Для этого наберите в командной строке:

gacutil -i Module3ClientApp.exe

Если все идет нормально, вы должны получить подтверждение: Assembly successfully added to the cache


ПРИМЕЧАНИЕ В некоторых ранних бета-выпусках .NET я обратил внимание на одну проблему: при просмотре папки c:winntassembly shfusion.dll не работала. Причиной этого было то, что shfusion.dll не регистрировалась должным образом. Если это случилось в вашей системе, откройте командную строку и выполните команду “regsvr32 shfusion.dll” из папки c:winntMicrosoft.netframeworkvJCHf , где XXX — это номер версии .NET Framework, с которой вы работаете. Очевидно, имя папки изменится перед началом поставок .NET, поскольку я работал с бета-выпуском. Тогда найдите файл shfusion.dll, и используйте эту папку. Здесь я использовал папку, представляющую мою текущую версию .NET: c:winntmicrosoft.netframework vl.0.2615>regsvr32 shfusion.dll.

А сейчас вы можете вызвать команду gacutil -/ для просмотра сборок в кэше и поиска ModuleSClient. Для этого можно использовать утилиту Assembly Cache Viewer, что мы и сделаем. Открыв кэш из Windows Explorer (C:WinntAssembly или C:WindowsAssembly), вы увидите в списке сборку ModuleSClient. Щелкните ее правой кнопкой и выберите Properties, что позволит узнать значение открытого ключа, номер версии и местоположение сборки на жестком диске. Ваш открытый ключ будет отличаться от моего, но он должен совпадать со значением, которое выводится при исполнении приложения ModuleSClientApp.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: