Я могу установить через gacutil, но не удалить ту же dll

Я установил DLL с помощью gacutil.

gacutil.exe /i SI.ArchiveService.CommonLogic.Exceptions.dll

использование gacutil / l показывает, что он действительно установлен.

SI.ArchiveService.CommonLogic.Exceptions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=925c8734ae397609, processorArchitecture=MSIL

затем я хотел удалить его.

gacutil.exe /u SI.ArchiveService.CommonLogic.Exceptions.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 3.5.30729.1
Copyright (c) Microsoft Corporation.  All rights reserved.

No assemblies found matching: SI.ArchiveService.CommonLogic.Exceptions.dll
Number of assemblies uninstalled = 0
Number of failures = 0

почему это не работает? Как его удалить?

4 ответов


для установки сборки требуется путь библиотеки DLL. Удаление требует отображаемое имя сборки. Они не должны быть похожи друг на друга. Обзор Assembly.FullName собственность. gacutil.exe /l (ell как в списке) получает список отображаемых имен.


Фигу.

gacutil.exe /u SI.ArchiveService.CommonLogic.Exceptions

сделал работу. Также переход к C:\WINDOWS\assembly, щелкните правой кнопкой мыши на нем, а затем выберите "Удалить". Я понял это, посмотрев на его свойства, и имя было без расширения dll.


Это немного безопаснее, если у вас есть несколько сборок с одинаковым отображаемым именем в GAC

gactutil.exe /u myDll,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab

пришел сюда, найдя ответ, но не получил полностью .

на самом деле вам нужно использовать двойные кавычки "Assemblyname", окружающие полное имя сборки i.e

"YOURDLLNAME, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

завершить процесс, перейдите к этому пути с помощью командной строки : C:\Program файлы (x86)\Microsoft SDKs\Windows\v8.0a\bin\NETFX 4.0 Tools

и запустите запрос: gactuil.exe / u "YOURDLLNAME, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

надеюсь, это поможет кому-то