我正在使用Excel Interop。在我得到的一個方法的開始,我分配了一個新的應用程序實例,並在它結束時我試圖釋放它,但是當我看到TaskManager時,仍然可以看到Excel打開。Excel Interop實例不會關閉
這是代碼:
類成員:private Excel.Application _app;
用法:
public void MethodApp()
{
_app = new Excel.Application();
....
....
FreeApplicationResources();
}
private void FreeApplicationResources()
{
_app.Quit();
Marshal.ReleaseComObject(_app);
}
MethodApp可以運行若干次,它以相同的量打開實例作爲次數它被稱爲。 Excel爲什麼不關閉?
書籤。 http://stackoverflow.com/questions/158706/how-to-properly-clean-up-excel-interop-objects – Sorceri
該鏈接中的最佳答案是「不要使用2點com對象」。那是不正確的。它應該改爲「避免使用COM對象使用2個點」。原因很簡單。如果你知道2點規則是如何工作的,並且你知道如何清理,那麼在使用2點規則時完全沒有問題。我一直都在使用它......你可能想看到[這](http://www.siddharthrout.com/2012/08/06/vb-net-two-dot-rule-when-working-with-office -applications-2 /) –
另請參閱[本鏈接](http://stackoverflow.com/questions/11813758/adding-text-into-excel-sheet-by-using-c-sharp/11813927#11813927)在代碼結束我有一個'私人無效releaseObject(對象obj)'釋放對象。使用它。 –