Не удается удалить Сборку из GAC?
-
20-09-2019 - |
Вопрос
Я не могу удалить сборку (log4net.dll) из GAC.Это выдает следующую ошибку.
"Сборка требуется для одного или нескольких приложений".
Однако, если я выполняю поиск в Сборке с помощью ProcessExplorer, ничего не появляется?Как я могу удалить эту Сборку из GAC?
Решение
Вы не думали о том, чтобы почитать эта статья в КБ и попробовать это на практике?
Предупреждение Серьезные проблемы могут возникнуть, если вы неправильно измените реестр с помощью редактора реестра или с помощью другого метода.Эти проблемы могут потребовать переустановки операционной системы.Корпорация Майкрософт не может гарантировать, что эти проблемы могут быть решены.Вносите изменения в реестр на свой страх и риск.
Чтобы обойти эту проблему, просмотрите список значений для следующих подразделов в Редакторе реестра:
HKEY_CURRENT_USER\Программное обеспечение\Microsoft\Установщик\ Сборки\Глобальный HKEY_LOCAL_MACHINE\Программное обеспечение\Классы\Установщик\ Сборки\Глобальный
Если значением для записи является дескриптор установщика Windows, удалите запись.Например, значением может быть зашифрованная запись REG_MULTI_SZ, которая похожа на следующую:=ysgSC6wx9uiD1dqmmjW>m$!GP^ D'A@?z}gn3}lta
Примечание Вы должны удалить эту запись.Не просто очищайте значение записи.
Другие советы
Наиболее вероятной причиной этого является то, что вы установили сборку log4net через установщик Windows (msi-package).Если это так, попробуйте удалить его с помощью Установки и удаления программ.
Следующие шаги помогли мне удалить Microsoft.ReportViewer.Common,Version=12.0.0,PublicKeyToken=89845dcd8080cc91
от gac
cd %systemroot%\assembly\
Отсюда у вас может быть несколько каталогов "gac", поэтому вам придется искать в каждом из них, чтобы найти свой компонент.
cd gac_msil
cd <assembly DLL name>
cd <assembly version number>__<public key token>
Например: 12.0.0.0__89845dcd8080cc91
erase *.*
Скажите "y" на вопрос "вы уверены".
cd ..
rd <assembly version number>__<public key token>
cd ..
rd <assembly DLL name>