Cannot find unmanaged dll
От: Кэр  
Дата: 20.06.08 01:31
Оценка:
Код, который полагается обложить тестами не запускается в тестовом окружении. Проблема — библиотека которая указана в DllImport атрибуте не может быть найдена во время выполнения теста, если путь указан относительный — только имя директории. Если путь указан абсолютный — то все работает как надо.
Проблема в том, что я пока в размышлениях где искать проблему. Вся соль в том, как грузится тест: есть консольная утилита, которая проставляется кучу environment variables, делает пассы руками, трясет бубен и наконец запускает nunit_gui-console, которая запускает TestFixture. Сам тест в свою очередь запускает код в Cassini сервере (код на самом деле web-service) и затем вызывает его. Если unmanaged dll лежит в корне web-service или в его bin директории и ссылка на эту dll относительная — то interop не может нащупать эту либу.
Я предполагаю, что нужно внимательно посмотреть на нужное свойство нужного AppDomain, чтобы понять, откуда dll пытается быть загруженной. Внимание, вопрос — на какой из AppDomain и какой из его параметров в это матрешке смотреть. Или если дело не в AppDomain какие пути решения еще возможны?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.