Мне дается 3 DLL (API для внешней системы), и я могу использовать их с моим исполняемым файлом в Windows 7 32bit .net 4.
Затем мне нужно подписать исполняемый файл строгим именем.
Это требует, чтобы библиотеки DLL API также были подписаны с тем же строгим именем, если я правильно понимаю.
И я видел сообщения о том, как это сделать (ildasm/ilasm, или Brutal Developer, или Crypto Obfuscator), и пробовал все, что мне попадалось в руки. Тем не менее, получение «сборок, подписанных строгим именем, должно указывать открытый ключ в их объявлении InternalsVisibleTo».
Кто-нибудь был там и сумел благополучно выбраться?
С уважением, Орен
PS 1, мне удалось заставить его работать на 64-битной Windows 7 (там 3 DLL API были подписаны с помощью Crypto Obfuscator, сделанного предыдущим разработчиком). Я начал исследовать, когда он не работал в 32-битной версии, и понял, что использую подписанные библиотеки DLL. Затем я нашел исходные библиотеки DLL, но смог работать только без «строгого имени» ни в моих сборках, ни в API. Любая другая комбинация, даже когда мои сборки не были подписаны (или все было подписано насколько я знаю), не работала.
PS 2, у меня есть еще одна моя DLL, которая прекрасно работает с исполняемым файлом (я подписываю обе, поэтому у меня всего 5 сборок, 2 мои и 3 отданные), я не уверен, что это связано, но принес тут во всяком случае.
InternalsVisibleTo
. Сообщение об ошибке довольно ясно. Почему вы пытаетесь взломать внутренности API DLL? Они, вероятно, внутренние по какой-то причине. - person Luaan   schedule 15.04.2015