GAC에서 어셈블리를 제거 할 수 없습니까?
-
20-09-2019 - |
문제
GAC에서 어셈블리 (log4net.dll)를 제거 할 수 없습니다. 다음 오류를 제공합니다.
"어셈블리는 하나 이상의 응용 프로그램에 필요합니다."
그러나 Processexplorer를 사용하여 어셈블리를 검색하면 아무것도 나오지 않습니까? GAC 에서이 어셈블리를 어떻게 제거 할 수 있습니까?
해결책
당신은 독서를 고려 했습니까? 이 KB 기사 그리고 그것을 시도해 보시겠습니까?
경고 레지스트리 편집기를 사용하거나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이러한 문제는 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 이러한 문제를 해결할 수 있다고 보장 할 수 없습니다. 자신의 위험에 따라 레지스트리를 수정하십시오.
이 문제를 해결하려면 레지스트리 편집기의 다음 하위 키에 대한 값 목록을 검토하십시오.
hkey_current_user 소프트웨어 Microsoft Installer Assemblies Global hkey_local_machine 소프트웨어 클래스 설치자 어셈블리 global
항목 값이 Windows 설치 프로그램 디스크립터 인 경우 항목을 삭제하십시오. 예를 들어, 값은 다음과 비슷한 암호화 reg_multi_sz 항목 일 수 있습니다. = ysgsc6wx9uid1dqmmjw> m $! gp^d 'a@? z} gn3} lta
메모 항목을 삭제해야합니다. 항목의 가치를 지우지 마십시오.
다른 팁
가장 큰 원인은 Windows 설치 프로그램 (MSI-Package)을 통해 LOG4NET 어셈블리를 설치했기 때문입니다. 이 경우 프로그램 추가/제거를 사용하여 제거하십시오.
다음 단계는 제거하는 데 도움이되었습니다 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>