Вопрос

Подключение сторонней dll

Добрый день!
Возникла необходимость подключить стороннюю библиотеку.
Подключение генерация и компиляция прошла успешно, но при попытке использовать какой-либо класс или метод вызывает ошибку:
Требуется сборка со строгим именем. (Исключение из HRESULT: 0x80131044).

Вроде бы всё понятно, подписали библиотеку перезалили в приложение и всё равно тот же самый результат.
Как решить данную проблему?

Нравится

11 комментариев

Михаил, 

Проблема вероятна связана с тем, что используете не подписанную библиотеку. 

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

Рекомендую воспользоваться приложение dotPeek, и проверить задано ли значение для publicKeyToken

Задан этот параметр. Поэтому вопрос и появился(

Кисловский Михаил Андреевич,

Ошибка "Требуется сборка со строгим именем" в таком случае не возникала бы. 

В кофигурации на вкладке [внешние сборки] можно вывести колонку с полным именем. Убедитесь, что bpmonline действительно получило полное имя библиотеки.

Всё верно, полное название соответствует, ключ не null. Но уверенности не дает это полное название и dotPeek тоже показывает что всё подписано. Может эта проблема получается из-за того что библиотека которую я подключаю Atlassian.Jira.dll использует не подписанную библиотеку, которая находится в базовых поставках RestSharp.dll? 

Добрый день

Все верно, вы не можете так использовать сборки. Вам нужно подписать RestSharp.dll. Чтобы подписать assembly вам не требуется иметь ее исходники. Посмотрите здеь https://stackoverflow.com/questions/7977363/using-unsigned-assemblies-in-signed-ones

Уже всё испробовал. Дело в том что в базовых поставках bpm не важно какой версии я обнаружил RestSharp.dll неподписанный. Так что не знаю, но наверное тут уже ничего не сделаешь если всё так плохо.

Кисловский Михаил Андреевич,

Вы пробовали просто подключить эти библиотеки к, на пример, пустому консольному приложению и проверить работу?

Возможно проблема в самих библиотеках.

Все исправно работает, проверял) почему и пал выбор именно на эту dll

Кисловский Михаил Андреевич,

А какую версию библиотеки RestSharp.dll вы хотите использовать? 

Tsopa пишет:
RestSharp

106.2.1 версию, но при импорте и компиляции соответственно множество конфликтов, как и предполагалось. 

Кисловский Михаил Андреевич,

Проблема заключается в том, что в базовой конфигурации уже используется библиотеке RestSharp.dll 104. 

Потому при добавлении еще одной такой библиотеки возникают конфликты:

К сожалению, внести изменения в систему, что бы использовать RestSharp.dll 106.2.1 на текущий момент невозможно. 

Данная проблема зарегистрирована и будет решена в следующих версиях.

Показать все комментарии