我在.NET中使用Office Automation。它留下了excel.exe程序。我知道修复 - 它完全是明确定义变量。一旦定义,我可以正确地取消分配ram,GC将清理它们。
问题是,我有数千行代码要经过。所以我想知道:.net(或第三方)中是否有某种实用程序能够向我显示我已经分配了ram的变量列表?如果是这样,我将能够定位这些项目并特别解除分配。
由于
赖安
答案 0 :(得分:1)
答案 1 :(得分:0)
为了清楚起见,在完成自动化之后,需要显式退出Excel。如果不这样做,即使变量超出范围并且垃圾收集运行,实例也会继续运行。我相信命令Quit():
Excel.ApplicationClass excel = new Excel.ApplicationClass();
//do some work with Excel
excel.Quit();
我建议您使用try / catch / finally
执行此操作Excel.ApplicationClass excel = null;
try
{
excel = new Excel.ApplicationClass();
//do some Excel work
}
catch(Exception ex)
{
//log exception
throw;
}
finally
{
if(excel != null)
excel.Quit();
}