6 / 6 / 2
Регистрация: 06.12.2009
Сообщений: 51
|
||||||||||||||||
1 | ||||||||||||||||
Динамическая загрузка DLL, сборки и домены18.06.2015, 11:56. Показов 1924. Ответов 1
Метки нет (Все метки)
Сделал по этой статье http://habrahabr.ru/post/247615/ приложение которое все необходимые для своей работы ДЛЛ содержит внутри себя как сжатые gzip'ом файлы
Основная идея там заключена в следующем коде:
При этом хотелось бы сохранить вот этот механизм внедрения без изменения стороннего приложения. В качестве стороннего приложения пробовал использовать просто чистый проект (назовем его лаунчером), к которому в референсы присоединена моя сборока с внедренными ДЛЛ и лаунчеру нужно запустить в качестве формы - форму из моей сборки. При этом форма эта нестандартная (от Devexpress) и соответственно для ее работы нужны dll. Если я в лаунчер добавлю только свою сборку и напишу
Они есть внутри моей сборки. Соответственно пытаюсь их в лаунчере получить по вот тому коду из примера следующим образом:
Причем заметил, что лаунчеру нужны только ДЛЛ которые описывают именно вот эту форму сторонюю. Т.е. например на этой форме есть NavBar, который требует свою ДЛЛ. Если рядом с лаунчером я положу ДЛЛ которые описывают форму без ДЛЛ для этого NavBar, то он ее отобразит нормально! Т.е. ДЛЛ для NavBar он таки находит внутри моей сборки. Вопрос в том почему так происходит? Я не совсем понимаю архитектуру доменов, сборок и т.д. Подозреваю что именно в этом проблема, что сборки загружаются для моей стороней бибилиотеки с формами (поэтому не нужны ДЛЛ для NavBar), но не загружаются для лаунчера (поэтому нужны ДЛЛ описывающие эту нестандартную форму)
0
|
18.06.2015, 11:56 | |
Ответы с готовыми решениями:
1
Динамическая загрузка DLL Динамическая загрузка dll Динамическая загрузка из управляемой DLL Динамическая загрузка Dll из ресурсов и ее использование |
18.06.2015, 18:01 | 2 |
Ну уж нет, я конечно бегло просмотрел код по ссылке, но именно такой идеи там я не увидел.
Там основная идея - подгрузка сборок из ресурсов как массива байт (с расшифровкой или без, не суть важно). Но естественно, тот пример не предполагает наличие в проекте изначальной ссылки на эту сборку, то есть используется чистая рефлексия типов. В вашем же случае, вы хотите иметь добавленную ссылку, но наличие самой библиотеки рядом с проектом не предполагается, вы хотите загружать ее из ресурсов.
0
|
18.06.2015, 18:01 | |
18.06.2015, 18:01 | |
Помогаю со студенческими работами здесь
2
Динамическая загрузка dll и использование ее через интерфейс Синхронная динамическая загрузка .DLL в нескольких потоках, возможно ли? Динамическая загрузка dll Зависимость от других DLL и динамическая их загрузка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |