При запуске приложения на другом компьютере возникате ошибка: "Необработанное исключение. Не удалось загрузить файл или сборку", хотя на компьютере, на котором ведется разработка ничего подобного нет. Все dll находятся в папке с программой. Подскажите пожалуйста - что не так?
Ответ
Дело в том, что если у C++/CLI-сборки не находится одна из нативных зависимостей, загрузить её невозможно.
В случае управляемых зависимостей, загрузка откладывается до момента первого использования, и вы получаете сообщение о том модуле, который невозможно загрузить. Но нативные зависимости грузятся сразу. Раз вы их с собой не таскаете, то они должны быть проинсталлированы на целевой системе, а их отсутствие приводит к невозможности загрузить модуль.
Для определения недостающих зависимостей имеет смысл использовать Dependency Walker (обычно известный как depends.exe).
Комментариев нет:
Отправить комментарий