Страницы

Поиск по вопросам

понедельник, 19 ноября 2018 г.

Необработанное исключение. Не удалось загрузить файл или сборку

При запуске приложения на другом компьютере возникате ошибка: "Необработанное исключение. Не удалось загрузить файл или сборку", хотя на компьютере, на котором ведется разработка ничего подобного нет. Все dll находятся в папке с программой. Подскажите пожалуйста - что не так?


Ответ

Дело в том, что если у C++/CLI-сборки не находится одна из нативных зависимостей, загрузить её невозможно.
В случае управляемых зависимостей, загрузка откладывается до момента первого использования, и вы получаете сообщение о том модуле, который невозможно загрузить. Но нативные зависимости грузятся сразу. Раз вы их с собой не таскаете, то они должны быть проинсталлированы на целевой системе, а их отсутствие приводит к невозможности загрузить модуль.

Для определения недостающих зависимостей имеет смысл использовать Dependency Walker (обычно известный как depends.exe).

Комментариев нет:

Отправить комментарий