Поиск
Просмотр кэша
Взглянем на кэш, чтобы увидеть установленные в данный момент совместно используемые сборки. Из 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
А сейчас вы можете вызвать команду gacutil -/ для просмотра сборок в кэше и поиска ModuleSClient. Для этого можно использовать утилиту Assembly Cache Viewer, что мы и сделаем. Открыв кэш из Windows Explorer (C:\Winnt\Assembly или C:\Windows\Assembly), вы увидите в списке сборку ModuleSClient. Щелкните ее правой кнопкой и выберите Properties, что позволит узнать значение открытого ключа, номер версии и местоположение сборки на жестком диске. Ваш открытый ключ будет отличаться от моего, но он должен совпадать со значением, которое выводится при исполнении приложения ModuleSClientApp.