Может ли сборка быть установлена ​​в GAC, но не отображаться в Gacutil.exe?

У меня есть приложение, в котором некоторые сборки копируются в C: \ Windows \ assembly при развертывании в предположении, что это устанавливает их в GAC. Кажется, что приложение работает, но когда я запускаю gacutil.exe для скопированных сборок, он сообщает, что глобальный кэш сборок содержит 0 сборок.

Должны ли все сборки в c: \ Windows \ assembly отображаться в gacutil? Если нет, то почему? Как я могу убедиться, что сборка действительно установлена ​​в GAC?

Раньше я всегда использовал gacutil.exe для регистрации сборок, поэтому создание копии файла для меня в новинку, и я пытаюсь понять последствия.


gac
person Brett Bim    schedule 01.04.2010    source источник
comment
запуск gacutil -l в идеале должен отображать все сборки в GAC. Я не совсем уверен, что копирование файла не устанавливает сборку в GAC, а просто копирует сборки в C: \ Windows \ assembly. Может приложение сработало, потому что в каталоге приложения была копия нужных сборок?   -  person gmaran23    schedule 18.10.2012


Ответы (2)


Удивительно, но да, но это было бы злоупотреблением внутренними принципами работы GAC, так что не делайте этого.

person Joshua    schedule 01.04.2010

да. Сборку можно зарегистрировать в системе, добавив соответствующие КЛЮЧИ РЕГИСТРАЦИИ.

В то же время сборки не обязательно должны находиться в папке GAC. И gacutil открывает файлы сборки, помещенные в папку GAC.

Поэтому развертывание в GAC рекомендуется проводить только в том случае, если сборка зарегистрирована в системе.

person Sid    schedule 11.09.2014