Надстройка COM> Утилизировать объекты правильно - PullRequest
0 голосов
/ 24 октября 2019

В надстройке Outlook объекты, похоже, хранятся в памяти. В результате, когда надстройка активна в Outlook, файлы .eml можно открыть только один раз. При повторной попытке я получаю:

We can't open [filename]. It's possible the file is already open, or you don't have permission to open it ...

Когда надстройка отключена, файлы .eml могут открываться несколько раз без каких-либо проблем. В коде надстройки я поместил Marshal.FinalReleaseComObject (obj) в нескольких местах, но это не помогло. Код довольно длинный и состоит из нескольких файлов. Возможно, я пропустил выпуск.

Есть ли способ легко устранить неисправность и определить основную причину.

1 Ответ

1 голос
/ 25 октября 2019

Попробуйте закомментировать большую часть вашего кода и возвращать его по несколько строк за раз до тех пор, пока проблема не вернется.

В качестве решения кувалды попробуйте вызвать GC.Collect () после того, как закончите. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...