Страницы

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

понедельник, 23 декабря 2019 г.

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

#c_sharp #net



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


Ответы

Ответ 1



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

Ответ 2



Посмотрел чем отличаются конфиги компьютеров и установил на компьютер, на котором выдавало ошибку - Microsoft Visual C++ 2017 Redistributable (x64). И все заработало, ошибка исчезла. Что за магия?

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

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