Я могу установить через 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
(как в списке) получает список отображаемых имен.
Не берите в голову.
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", окружающие полное имя сборки, т.е.
"YOURDLLNAME, версия = 6.3.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35"
Завершите процесс, перейдите по этому пути с помощью командной строки: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
и выполните запрос: gactuil.exe /u "YOURDLLNAME, версия = 6.3.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35"
Надеюсь, это поможет кому-то