У меня есть приложение, которое должно быть установлено в COM +. Установка через RegSvcs работает нормально, однако, когда я пытаюсь удалить приложение, некоторые библиотеки DLL блокируются и остаются в папке установки. Обратите внимание, что это происходит только после того, как я позвоню в приложение COM +; в противном случае удаление проходит гладко.
Моему приложению требуется чистая установка и возврат, но мне трудно определить, почему эти библиотеки DLL блокируются. Скриншот заблокированных сторонних библиотек DLL находится ниже; два, соответствующие моему приложению, не отображаются.
Моя сборка помечена как не-ComVisible, а единственный класс, производный от ServicedComponent, открыт для COM +. Я пытался форсировать сборку мусора после завершения вызова, но, похоже, это не имеет значения. Итак, некоторые вопросы:
- Можно ли предположить, что это происходит из-за неправильной реализации IDisposable где-то, или это может быть что-то еще?
- Должен ли я предполагать, что существует отдельная проблема, связанная с каждой заблокированной DLL, или возможно, что существует проблема с одним классом, которая приводит к блокировке всех этих DLL?
- Любые предложения, как я мог бы go отладить это?
Любая помощь будет принята с благодарностью - чувствуя себя полностью потерянным на этом.