我正在开发一个严重依赖多个 Microsoft Office 产品的应用程序,包括 Access、Excel、Word、PowerPoint 和 Outlook 等。在对互操作进行研究时,我发现从 VS2010 和 .NET 4 开始,幸运的是我们不再需要经历 PIA 的噩梦。
此外,我一直在阅读很多关于正确处理物品的文章,最明智的似乎是这篇文章。
但是,这篇文章已有 5 年历史,关于 AFAIK 主题的权威出版物并不多。以下是来自上述链接的代码示例:
' Cleanup:
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
GC.WaitForPendingFinalizers()
Marshal.FinalReleaseComObject(worksheet)
oWB.Close(SaveChanges:=False)
Marshal.FinalReleaseComObject(workbook)
oApp.Quit()
Marshal.FinalReleaseComObject(application)
我想知道的是按照今天的标准,这有多准确,如果我希望在未来几年内支持我的申请,我应该注意什么?
更新:非常感谢提供一些可信文章的链接。顺便说一句,这不是服务器端应用程序。这将在计算机实验室中运行,我们让用户与我们为他们实例化的办公产品进行交互。
找到它: 这篇由三部分组成的文章可能是我期望找到的最接近权威帐户的文章。