Я работаю с внешней DLL, чтобы использовать устройство OCR, используя написанную мной обертку. Я сделал тесты на обертке, и он отлично работает. Но когда я использую проект WinForms для использования класса клиента оболочки (находящегося в другом проекте), возникает ошибка при вызове методов C#, импортированных из DLL (с использованием [DLLImport(...)]
), в которых говорится, что DLL не зарегистрирована.Какую конфигурацию мне нужно использовать внешнюю DLL в приложении WinForms?
Ошибка говорит:
"Функция библиотеки DLL не найден Проверьте реестра путь установки."
Все исполнения были выполнены в режиме отладки. Я сравнивал конфигурацию обоих проектов. Самое важное отличие состоит в том, что проект тестирования ориентирован на любое приложение с процессором и WinForms, которое указывает только на x86.
Что это может быть?
Обновления
- Я пытался зарегистрировать DLL с помощью
Regsvr32.exe
, но это не сработало. Я думал об использованииGacutil.exe
, но для удаления всех фреймворков за рамки .NET. 1.1 ... - Мне было интересно ... в тестовой среде, вероятно, все работает хорошо, потому что тестовая среда имеет свои DLL-файлы или исполняемые файлы (или что-то в этом роде), полностью зарегистрированных в Windows, поэтому это доверенные DLL. Возможно, что отлаженные сгенерированные DLL не доверяются окнами, и поэтому возникает эта проблема?
- Я создал форму в том же тревожном проекте, а затем я вызываю OCRWrapper с кнопки, которую я добавил к ней. OCR работает!. К сожалению, сложно переписать первую форму, потому что мы потратили на нее много часов; так что мне все еще интересно, что мне нужно изменить в тревожной форме ...
- Я начал с нуля разработку формы с нуля и добавил все связанные с ней компоненты; все работало хорошо, OCR внимательно прочитало все данные. Когда я загрузил поле со списком, используя вызов
ObjectContext
, и ошибка появилась снова ... Я использую инфраструктуру сущности, связанную с Oracle.
Вы работаете на 64-битной системе? – stuartd
@StuartDunkeld Intel Core 2 Duo ... Я полагаю, что это 64-битная система, но, хотя я и сделал это в google, я не уверен ... – JPCF
@HansPassant исключение не из Visual Studio. .. когда я вызываю метод из OCR (используя метод '[DLLImport]' отмеченный метод), возвращенное сообщение об ошибке - '' Функция библиотеки DLL не найдена. Проверьте путь установки реестра. ". – JPCF