Excel互操作实例将不会closures
我正在使用Excel Interop。 在我得到的一个方法的开始,我分配了一个新的应用程序的实例,在它的结尾,我试图释放它,但是当我看着TaskManager,我仍然可以看到Excel打开。
这是代码:
类成员: private Excel.Application _app;
用法:
public void MethodApp() { _app = new Excel.Application(); .... .... FreeApplicationResources(); } private void FreeApplicationResources() { _app.Quit(); Marshal.ReleaseComObject(_app); }
MethodApp可以运行多次,并以与调用次数相同的数量打开实例。 为什么Excel不能closures?
尝试释放以下顺序使用的工作表和工作簿:
Marshal.ReleaseComObject(_worksheet); Marshal.ReleaseComObject(_workbook); Marshal.ReleaseComObject(_app);