VS2005:C#でCOMオブジェクトの解放
いろんなところに書いてあるのですが、COMオブジェクトを使って
Excelファイルを作ったりできますが、解放する時に注意しないと
そのままEXCEL.EXEのプロセスが残ったりします(タスクマネージャで確認)。
基本的に、使用したオブジェクト”すべて”に対して
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
の形で解放してやればいいのですが、どうしても残ってしまう時があります。
GC.Collect();してやれば100%プロセスは消えるので、おそらく参照自体はなくなっていると
思うのですが、多くの場合ガベージコレクションが走らないと消えてくれないようです。
作ったExcelファイルをすぐに開いたりする時に問題になるのでやっぱGC.Collect()しかないかな?