Как добавить измененную dll в глобальный кэш сборок?

На моем компьютере установлен MySQL Connector / NET. Я изменил исходный код и перекомпилировал одну из dll (MySQL.Data.dll). Если программа уже установлена, как добавить эту dll в Global Assembly Cache?

Если ваш ответ связан с использованием gacutil.exe, сообщите мне, где его найти на моем компьютере или где я могу его загрузить. Спасибо!


person Ben McCormack    schedule 15.10.2009    source источник
comment
Вы контролируете клиентское приложение, которое использует этот коннектор?   -  person Pieter Breed    schedule 15.10.2009
comment
Я не совсем уверен. В конце концов, я пишу приложение Silverlight, но Entity Framework - это то, что на самом деле потребляет соединитель (я думаю ... за этим может быть другой уровень абстракции, о котором я не знаю). Я думаю, это поток: MySQL DB - ›MySQL Connector / .Net -› Entity Framework - ›RIA Services -› Silverlight   -  person Ben McCormack    schedule 16.10.2009


Ответы (4)


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

person Henk Holterman    schedule 15.10.2009
comment
Я предполагаю, что закрытый ключ отличается от токена открытого ключа. Так есть ли способ сделать мою пользовательскую dll пригодной для использования в программе? - person Ben McCormack; 15.10.2009
comment
Боюсь, что нет, то, что вы хотите сделать, это то, что подписание было разработано, чтобы предотвратить. - person Henk Holterman; 15.10.2009
comment
В этом есть смысл. Это все еще расстраивает. Я буду искать правильный способ сделать это. - person Ben McCormack; 15.10.2009

Откройте проводник Windows (WindowsKey + E). Перейти к c:\windows\assembly. Откройте второе окно проводника и перетащите вашу сборку в первое окно.

person Darin Dimitrov    schedule 15.10.2009

Очень просто: Пуск-> Программы-> Microsoft Visual Studio 2005/2008 -> Инструменты Visual Studio -> Командная строка Visual Studio 2005/2008.

появится cmd, где вы можете ввести gacutil.

Он также показывает путь, по которому он находится:

C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC> на моем компьютере.

person Vitaliy    schedule 15.10.2009

  1. Откройте командную строку Visual Studio

Сначала откройте командную строку Visual Studio (для Visual Studio 2010 путь: Программы -> Visual Studio 2008 -> Инструменты Visual Studio -> Командная строка Visual Studio 2008). Все файлы, упомянутые в следующих шагах, будут созданы в Visual Studio. Путь к командной строке Studio 2010.

  1. Создать KeyFile sn -k keyPair.snk
  2. Получите MSIL для сборки ildasm SomeAssembly.dll /out:SomeAssembly.il
  3. Переименуйте исходную сборку, на всякий случай ren SomeAssembly.dll SomeAssembly.dll.orig
  4. Создайте новую сборку из вывода MSIL и вашего KeyFile ilasm SomeAssembly.il / dll /key=keyPair.snk
  5. Установите DLL в GAC gacutil -i SomeAssembly.dll
person Peter T.    schedule 20.06.2013