Добрый день. Есть приложение на C# в которое в процессе работы загружаются managed и unmanaged dll'ки. Необходимо реализовать динамическую перезагрузку этих dll'ок. C managed dll'ками проблем не возникает - я создаю дополнительный домен и загружаю их в него, а потом выгружаю весь домен. Unmanaged dll'ки, как я понимаю, с доменом не взаимодействуют и нужен другой механизм. Я пробовал освобождать их и загружать снова при помощи:
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern bool FreeLibrary(IntPtr hModule);
[DllImport("kernel32.dll")]
static extern IntPtr LoadLibrary(string dllToLoad);
Но при попытке повторного использования классов из этих библиотек бросается исключение Access Violation. Подозреваю, что при использовании FreeLibrary библиотеки выгружаются, но в clr остаются указатели на них и при попытке использования бросается исключение.
Вопрос: есть ли какой-то способ осуществить выгрузку и повторную загрузку unmanaged dll и в дальнейшем использовать их.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, есть класс к которому нельзя прибавить больше 1 значения, в классе идет индексация эллементов, и прочии действия)
ЗдравствуйтеМожете помочь? Пользователь открывает выбранный архив и как сделать отображение списка файлов архива в wpf c#?