Я использую стороннюю библиотеку DLL, написанную на неуправляемом C ++, которая управляет некоторым имеющимся у нас оборудованием.
К сожалению, эта DLL время от времени дает сбой, и мне было поручено сделать ее «перезагрузкой» автоматически. Я не слишком уверен, как поступить, чтобы получить лучшие результаты.
Мой проект использует C ++. Net 2.0 (2005). Я упаковываю сторонние материалы в отдельную DLL. Я пытался FreeLibrary () и LoadLibrary (). Однако, когда я выполняю FreeLibrary (), некоторые внутренние зависимости DLL остаются выделенными, и LoadLibrary () приводит к сбою из-за поврежденной памяти.
Другой предложенный подход заключался в рефакторинге всего проекта с использованием интерфейсов удаленного взаимодействия .NET. Было бы проще убить другой процесс и перезапустить его, но это будет много работы.
Есть предложения? Указатели? Подсказки?