Я могу установить через gacutil, но не удалить ту же DLL - PullRequest
13 голосов
/ 25 марта 2011

Я установил 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 ]

26 голосов
/ 25 марта 2011

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

9 голосов
/ 25 марта 2011

Nevermind.

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

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

3 голосов
/ 01 февраля 2013

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

gactutil.exe /u myDll,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
0 голосов
/ 02 марта 2017

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

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

"YOURDLLNAME, Version =6.3.0.0, Культура = нейтральный, PublicKeyToken = 31bf3856ad364e35 "

Завершить процесс, перейдите по этому пути с помощью командной строки: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX4.0 Инструменты

и выполните запрос: gactuil.exe / u "YOURDLLNAME, версия = 6.3.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35"

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

...