简单规则:避免使用双点调用表达式,例如:
var workbook = excel.Workbooks.Open()
…以这种方式,您不仅要为,还为为RCW创建对象,并且还应该释放它(如果不维护对该对象的引用,则不可能)。
workbook``Workbooks
因此,正确的方法将是:
var workbooks = excel.Workbooks;var workbook = workbooks.Open()//business logic hereMarshal.ReleaseComObject(workbook);Marshal.ReleaseComObject(workbooks);Marshal.ReleaseComObject(excel);



