Ссылка на VB.NET DLL в сценарии проверки документов Kofax

Мы работаем над сценарием проверки для Kofax Capture 9.0/10.0 в VB.NET 3.5. Мы знаем, как создать скрипт с помощью административного модуля и как заставить его работать.

Проблема в том, что нам нужно сослаться на dll, расположенную на удаленной машине. (GAC не вариант) Эта dll содержит абстрактные классы, которые нам нужны в каждом сценарии проверки.

Даже при локальном размещении dll (копировать локально) модуль проверки (index.exe) сразу выдает исключение «не удается найти ссылку», хотя проект скомпилирован отлично.

Я предполагаю, что основной вопрос сводится к следующему: куда мы поместим dll, чтобы модуль проверки мог их найти?


person Knots    schedule 09.01.2014    source источник


Ответы (2)


Простой ответ — поместить dll в ту же папку, что и приложение, потому что это одно из мест, которое .NET будет проверять при попытке найти его. Модуль проверки запускается из каталога Capture bin, который выглядит примерно так: «C:\Program Files (x86)\Kofax\CaptureSS\ServLib\Bin\». Это необходимо сделать на каждом клиенте с помощью проверки.

Если у вас более сложный сценарий, вы можете реализовать Событие AppDomain.AssemblyResolve и использование Assembly.LoadFile, чтобы получить сборку из пользовательского расположения, но использование пути к корзине менее сложно.

Если у вас возникнут дальнейшие проблемы, вы можете устранить их с помощью средство просмотра журнала привязки сборки (Fuslogvw.exe), которое может сообщить вам более подробную информацию о том, почему не удалось загрузить сборку и где .NET пытался ее найти. Загрузка сборки может завершиться ошибкой по причинам, отличным от пути.

Дополнительные сведения о том, как .NET загружает сборки, см. в следующих статьях:

person Stephen Klancher    schedule 12.01.2014
comment
Нам это не помогло. Мы не могли копировать библиотеку, содержащую все абстрактные классы, каждому клиенту, так как это противоречило бы ее назначению. - person Knots; 27.01.2014

Мы нашли решение: добавить все файлы библиотеки как «ссылки» на проект. (Добавить --> Существующий файл --> маленькая стрелка рядом с "Добавить" --> Добавить как ссылку) Это гарантирует, что файлы будут скомпилированы при сборке проекта. Модуль проверки Kofax теперь может находить файлы, тогда как при обращении к файлу он не мог. Почему не получилось, остается загадкой...

person Knots    schedule 27.01.2014