2015-05-04 4 views
0

Я использовал стороннюю dll (ABCpdf) в своем приложении .NET и установил приложение на другую машину. Программа работала нормально, но затем срок действия истек и мы приобрели сторонний компонент и скопировали новую dll в каталог приложения. При запуске моего приложения мы получили сообщение об ошибке, что сборка не может быть загружена. Я заметил, что ссылка на dll имеет локальный набор для копирования в false, поэтому я изменил его на true. По-прежнему получается такая же ошибка.DLL-конфликт - пробная версия и приобретенная

Я проверил, и на компьютере есть копия DLL - одна в папке установленного стороннего приложения, одна в папке приложения моего приложения (скопирована из папки установки), а также одна в GAC. Я установил копию локально в true, но затем снова, как только сборка установлена ​​в GAC, это версия, которая всегда будет использоваться.

Как решить проблему? Удастся ли удалить dll из GAC? Будет ли это решение моей проблемы? Пожалуйста, сообщите

ответ

0

Проверьте используемые ссылки и т. Д. Прежде всего убедитесь, что вы компилируете нужную версию с установленной лицензией. Вы можете использовать этот код, чтобы добавить лицензионный ключ во время выполнения (чтобы в будущем избежать ошибок в ваших клиентах):

WebSupergoo.ABCpdf7.XSettings.InstallRedistributionLicense("your_serial") 

ABCpdf не должен быть установлен на GAC. Поэтому вы можете удалить его оттуда. Затем проверьте выпуск 32/64 бит, поскольку ABCpdf использует для предоставления 4 dll, 2 для каждой платформы (ABCPDF.dll и ABCPdfCEXX.dll).

0

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

+0

Это было первое, что я сделал, но не повезло – ElenaDBA

Смежные вопросы