Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Динамическая загрузка из управляемой DLL |
Автор: constant 15.10.2015, 14:40 | ||||
Есть основное приложение, во время работы которого, необходимо динамически, по необходимости, создавать экземпляр класса из управляемой библиотеки DLL, и также, по необходимости уничтожать этот экземпляр и выгружать библиотеку. Когда библиотека выгружена, должна быть возможность вносить в нее изменения, пересобрать ее, и не останавливая приложение, во время его работы повторить все действия указанные выше для измененной библиотеки. Среда Framework 4.0 Привожу упрощенный вариант основной программы и библиотеки Ниже приведен код DLL
Этот класс выводит на консоль две похожие надписи в конструкторе и в методе класса. Ниже приведен код основной программы.
Здесь загружается библиотека, создается экземпляр класса из библиотеки, выгружается библиотека, потом выдержка по времени 30 сек. Во время этой выдержки, пока библиотека выгружена, я меняю в коде библиотеки в выводе на консоль с время 15:58 на 15:59 и в конструкторе, и в методе DoIt. После окончания выдержки выполняется повторная загрузка уже измененной библиотеки и создание из нее нового класса. Результат вывода на экран: 15:58============ =========DO it ! 15:58============ 15:59============ =========DO it ! 15:58============ Т.е. изменения в конструкторе применились, а в методе DoIt нет, выполняется старый код Собственно вопрос и состоит в том, как сделать так, чтобы изменения в библиотеке при повторной загрузке применялись а не только в конструкторе, но и в методах класса |
Автор: chupachups 16.10.2015, 11:57 |
Собственно вопрос стоит так: "Что я делаю неправильно?" Но, чтобы на него ответить, надо знать "А как ты это делаешь?" Правильно поставленный вопрос содержит 50% ответа !!! Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Dinamicheskaya-zagruzka-iz-upravlyayemoy-DLL-id561f910bae201560728b4567#findElement_E7045_5620bbdfae20150a5eb12cdc_0 |
Автор: constant 16.10.2015, 20:59 | ||
Да-уж ! Огромное спасибо. Джедай верностью принципами обладать должен. И серьезным умом. Ты поймешь. Когда ты тих, светел, спокоен... Джедаю Сила нужна лишь для защиты, не для удара. Сила с тобой да прибудет. Мастер Йода Если кому то нужно решение а не треп то сюда: http://www.cyberforum.ru/csharp-net/thread1552984.html#post8199201 |