(что-то вроде продолжения из поста (который остается без ответа): https://stackoverflow.com/q/6197829/314661)
Использование следующего кода
Application app = new Application();
_Document doc = app.Documents.Open("myDocPath.docx", false, false, false);
doc.PrintOut(false);
doc.Close();
Я пытаюсь открыть и напечатать файл программным путем.
Проблема в том, что каждый раз, когда я запускаю приведенный выше код, запускается новый процесс WINWORD.exe, и, очевидно, он быстро израсходует всю память.
Класс приложения, кажется, не содержитметод удаления / закрытия или аналогичный метод.
После небольшого исследования я (понял) и изменил код на следующий.
Application app = new Application();
_Document doc = app.Documents.Open(fullFilePath + ".doc", false, false, false);
doc.PrintOut(false);
doc.Close();
int res = System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
int res1 = System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
И я вижу, что оставшийся счетчик ссылок равен нулюно процессы остаются?
PS: я использую версию 14 библиотеки Microsoft.Office.Interop.