Перенаправление привязки сборки к нестандартной / неподписанной dll

StackOverflow https://stackoverflow.com/questions/1636555

  •  06-07-2019
  •  | 
  •  

Вопрос

Проблема

Основная проблема в том, что я хочу отладить какой-то сторонний код, чтобы посмотреть, как он работает, и заменить его.

Есть ли способ перенаправить привязку, чтобы она не использовала dll в GAC, а вместо этого копию, которую я вместо этого скомпилировал (которая будет либо без знака, либо с другим открытым ключом).

<Ч>

Подробнее

Конкретный вопрос - asp.net mvc, причина в том, что копия библиотеки DLL в gac была оптимизирована и не совпадает с исходным кодом на исходном сервере Microsoft.

Microsoft выпустила исходный код для asp.net mvc, чтобы я мог скачать его и скомпилировать dll самостоятельно, но, очевидно, я не могу подписать dll их ключом, я могу подписать его своим собственным ключом, но тогда у него будет другой токен открытого ключа.

Простым ответом было бы сослаться на мою dll в моем приложении и перекомпилировать мое приложение, но затем мне также пришлось бы перекомпилировать каждую dll третьей стороны, которая ссылается на asp.net mvc (например, mvccontrib).

Это было полезно?

Решение

Вы можете настроить проверку подписи с помощью SN.EXE инструмент .

sn -Vr assembly

Отмените регистрацию исходной сборки в GAC, затем поместите свою собственную в папку программы и используйте SN, чтобы пропустить проверку.

Другие советы

У меня была похожая проблема с «исправлением» системы с задержкой подписанных dll / exes. Несмотря на использование sn -Vr *, [PublicKey] , произошел сбой с SecurityException: проверка строгого имени завершилась неудачно. Затем, просматривая расположение реестра: HKLM \ Software \ Microsoft \ StrongName \ Verification и HKLM \ Software \ Wow6432Node \ Microsoft \ StrongName \ Verification оказалось, что в нем есть несколько недействительных записей. , Я удалил недействительные записи, а затем снова использовал sn (для 64/32 бита), и это сработало как талисман.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top