Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Исключение при попытке создать объект из dll |
Автор: Shaman2008 13.11.2018, 21:40 | ||||||
Добрый вечер, уважаемые форумчане! Я только набираюсь опыта, поэтому, прошу сильно меня не пинать. Есть необходимость написать приложение, поддерживающее "модули". Все было хорошо первые "три шага", так сказать. Я никогда не писал ПО подобного плана, поэтому, думаю, что у меня с кодом все плохо, но надо с чего-то начинать... В общем, в VS я создал решение. В решении присутствует 3 проекта. 1 проект - сама программа, которая имеет интерфейс и свои рабочие классы. 2 проект - библиотека классов (dll). В ней я начал описывать базовые классы и интерфейсы для будущих модулей. Эту библиотеку я подключаю как ссылку к основной программе в 1 проекте и как ссылку в 3 проекте. 3 проект - dll с модулями внутри (под модулем, в данном случае, понимается каждый отдельный класс со своей реализацией). В проекте 2 описан базовый класс, который наследуют классы в модулях:
В проекте 3 я его наследую:
Загрузка dll с модулями в основной программе происходит следующим образом:
Если стороннюю библиотеку (LockheedMartin.Prepar3D.SimConnect) использовать "внутри программы", а не "внутри отдельного модуля", то проблем нет, объект создается (SimConnect) и успешно выполняет свои функции... Подскажите, пожалуйста, в чем может быть проблема? Куда копать? Спасибо заранее!!! |
Автор: Shaman2008 14.11.2018, 10:04 |
Удалось вытащить сообщение исключения: "Не удалось загрузить файл или сборку \"LockheedMartin.Prepar3D.SimConnect, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null\" либо одну из их зависимостей. Не удается найти указанный файл." Данная библиотека лежит в корне с программой. Почему он ее не видит? Может необходимо в ручную ее загрузить как-то в основную программу? Похоже, надо разбираться с таким понятием как AppDomain... Если кто в курсе, подскажите пожалуйста. Заранее спасибо! |