У меня есть подписанное приложение, которое использует сторонние DLL. Эти библиотеки DLL не были подписаны. - До сих пор нет проблем для первого шага: я только что подписал их (получая * .il с ildasm.exe, просто публиковал в * .il, потому что они имеют взаимозависимости и сделали * .dll с ilasm.exe)Доступ к недавно подписанной третьей стороне DLL дает ошибку
Проект теперь отлично компилируется и также запускается.
Но когда в моем коде вызывается конструктор классов из сторонней DLL (или что-то еще?), Я получаю сообщение об ошибке «Скрепленные подписью сборки должны указывать открытый ключ в своих заявлениях InternalsVisibleTo»
кажется, не будет проблемой, если у вас есть источник DLL и может изправлена в AssemblyInfo.cs, установив
[assembly: InternalsVisibleTo("MyProject.Domain.Tests, PublicKey=..."]
Но: Как упоминалось выше, у меня есть сторонняя DLL I нет есть источник. Поэтому нет способа решить эту проблему.
Любые предложения, связанные с этим?
Чтобы собрать и подписать IL, используйте ilasm.exe, а не ildasm.exe, который используется для разборки. –
@ Xeno спасибо, это была опечатка, обновленная. –