GAC からアセンブリをアンインストールできませんか?
-
20-09-2019 - |
質問
GAC からアセンブリ (log4net.dll) をアンインストールできません。次のエラーが発生します。
「1 つ以上のアプリケーションでアセンブリが必要です。」
しかし、ProcessExplorer を使用してアセンブリを検索しても何も表示されません。このアセンブリを GAC から削除するにはどうすればよいですか?
解決
読むことを考えましたか このKB記事 そしてそれを試してみますか?
警告 レジストリ エディターまたは別の方法を使用してレジストリを誤って変更すると、重大な問題が発生する可能性があります。これらの問題により、オペレーティング システムの再インストールが必要になる場合があります。Microsoft は、これらの問題が解決されることを保証できません。レジストリの変更は自己責任で行ってください。
この問題を回避するには、レジストリ エディターで次のサブキーの値のリストを調べます。
HKEY_CURRENT_USER\ソフトウェア\Microsoft\インストーラー\アセンブリ\グローバル HKEY_LOCAL_MACHINE\ソフトウェア\クラス\インストーラー\アセンブリ\グローバル
エントリの値が Windows インストーラ記述子の場合は、エントリを削除します。たとえば、値は次のような暗号的な REG_MULTI_SZ エントリである可能性があります。=ysgSC6wx9uiD1dqmmjW>m$!GP^D'A@?z}gn3}lta
注記 エントリを削除する必要があります。エントリの値を単にクリアしないでください。
他のヒント
この原因として最も考えられるのは、Windows インストーラー (msi パッケージ) を介して log4net アセンブリをインストールしたことです。その場合は、「プログラムの追加と削除」を使用してアンインストールしてみてください。
次の手順で削除できました Microsoft.ReportViewer.Common,Version=12.0.0,PublicKeyToken=89845dcd8080cc91
ガクから
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>