Der folgende Code lässt eine Microsoft Excel Hintergrundprozess läuft, bis nach meinem Programm verlassen hat:Warum lässt Microsoft.Office.Interop.Excel.Application.Quit() den Hintergrundprozess laufen?
var excelApplication = new Application();
var workbooks = excelApplication.Workbooks;
var workbook = excelApplication.Workbooks.Open(file.FullName);
workbook.Close();
excelApplication.Workbooks.Close();
excelApplication.Quit();
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(workbooks);
Marshal.ReleaseComObject(excelApplication);
Warum? Was vermisse ich?
Haben Sie versucht, alles in '// do stuff' zu entfernen? Der Hauptgrund dafür sind einige verbleibende Referenzen, zugewiesene Objekte und so weiter. – DrKoch
Siehe http://stackoverflow.com/questions/9962157/safely-disposing-excel-interop-objects-in-c –
In meinem Test gab es nichts als den Kommentar. Der Code, den ich gepostet habe, war der vollständige/genaue Code. – skinnysoftware