Ответ 1
Вы можете сами подписывать сборки, чтобы вы могли ссылаться на них в проекте, который также подписан, если вы не можете заставить автора сильно подписать их для вас.
Сделайте это, разобрав сборку в ИЛ, а затем соберите ее с помощью собственного файла с сильным именем.
Откройте командную строку Visual Studio и перейдите в каталог, содержащий вашу неподписанную сборку. Выполните следующие команды из командной строки.
ildasm.exe /all /typelist /out=My.Unsigned.Assemby.il My.Unsigned.Assemby.dll
Это создаст версию IL сборки под названием My.Unsigned.Assemby.il
Затем вам нужно будет собрать его без изменений, используя свой сильный ключ.
ilasm.exe /dll /optimize /key=MyKeyFile.snk My.Unsigned.Assemby.il
Теперь вы получите ту же сборку, что и ее подписанная версия. Вы можете больше узнать о сильном ключевом ключевом ключе, но я предполагаю, что вы уже знаете, как это сделать на основе вопроса.
ОБНОВЛЕНИЕ: Я написал приложение, чтобы сделать это автоматически из пользовательского интерфейса, командной строки или программно через API. Он обрабатывает все граничные случаи, а также собирает обратно правильную версию с правильными флагами. Вы можете узнать больше об этом и скачать инструмент здесь: http://brutaldev.com/post/2013/10/18/NET-Assembly-Strong-Name-Signer