使用 Microsoft Visual Basic .NET 或 Microsoft Visual C# .NET 使 Microsoft Office 应用程序执行自动化功能后,当调用 Quit 方法时,不退出 Office 应用程序。
当 Visual Studio .NET 从托管代码调用 COM 对象时,它自动创建运行库可调用包装 (RCW)。RCW 封送 .NET 应用程序和 COM 对象之间的调用。RCW 保留着对 COM 对象的引用计数。因此,如果 RCW 上没有将所有引用全部释放,COM 对象就不会退出。
要确保退出 Office 应用程序,自动化代码一定要满足以下条件:
- 将每个对象声明为新变量。例如,将下面的代码行
oBook = oExcel.Workbooks.Add()
更改为以下内容:
dim oBooks as Excel.Workbooks
oBooks = oExcel.Workbooks
oBook = oBooks.Add()
- 停止使用某个对象时,应使用 System.Runtime.InteropServices.Marshal.ReleaseComObject。这样可以减少 RCW 的引用计数。
- 要释放对变量的引用,请将变量设置为等于 Nothing 或 Null。
- 使用 Office 应用程序对象的 Quit 方法通知服务器关闭。
重现问题的步骤
请注意,如果您按照“重现此问题的步骤”一节中的说明执行操作后,服务器仍然没有关闭,则在您释放最后一个对象后,可以使用 GC.Collect() 和 GC.WaitForPendingFinalizers() 方法。因为运行库对 RCW 执行垃圾收集,所以 GC.Collect() 方法会强制垃圾回收器运行,并且会释放 RCW 仍然拥有的任何引用。GC.Collect() 方法尝试回收可用的最大内存。注意,这不能保证所有内存都被回收。
分享到:
相关推荐
Visual Studio .NET 2003 简体中文完整版 Visual Studio .NET 2003 简体中文完整版
Bringing Quality Products to Market Faster – 使用Visual Studio .NET 快速开发应用程序 <br>快速应用程序开发 (RAD) 概念 Visual Studio .NET中的RAD工具 Micorsoft Visio 代码生成和反向工程 <br>...
visual studio .net实例运行的条件visual studio .net实例运行的条件
Bringing Quality Products to Market Faster -使用Visual Studio .NET 快速开发应用程序(PPT) <br>快速应用程序开发 (RAD) 概念 Visual Studio .NET中的RAD工具 Micorsoft Visio 代码生成和反向工程
Microsoft Visual Studio.NET 2003 BT种子文件
《Visual Studio.NET Framework技术内幕》还包括了XML重点,比如SOAP协议的讲解,因为它将广泛应用于分布式应用程序组件相互间的数据传送。 《Visual Studio.NET Framework技术内幕》讲解翔实,示例具体,是.NET编程...
《Microsoft Visual Basic .NET 程序设计》一书中的练习文件。 SYSTEM REQUIREMENTS =================== 要编译和运行本文件夹的所有练习文件,需要如下配置: - 以下操作系统之一: Microsoft Windows ...
Visual Studio.NET程序设计教程
Visual Studio .net 2005 入门 第 41-45 swf
使用Wise for Visual Studio .NET,可在现有的Visual Studio .NET开发环境下创建安装程序。Wise for Visual Studio .NET完全与Microsoft Visual Studio .NET集成,这就意味着您可以非常方便、迅速地创建高质量的安装...
Visual Studio .net 2005入门 第61-65 swf
在Visual Studio .Net中创建Active X组件C++源代码程序小实例visual studio.net
主要包括:安装Visual Studio.NET、开发环境、设置Visual Studio.NET开发环境、利用工程向导建立通用工程和巧用资源向导等。通过学习这部分知识可以快速地掌握Visual Studio.NET开发环境,使软件开发如鱼得水。 本书...
但是该软件包可以与 Visual Studio .Net 2003 的本地化版本一起使用。在安装过程中,会提供一个英文版的自述文件,但从此处也可找到此文件的本地化版本。有关如何使用这些实用工具的更多信息,可参考该自述文件。
visual studio.net开发环境使用指南,内附pdg文件阅读器
Visual Studio .NET 开发环境
Visual Studio.NET 使用技巧手册,涵盖2002,2003和2005版本,提示技巧多达120条!
visual studio.net 学习资料,不多说自己看吧!
使用 Visual Studio .NET 创建 BREW™ 应用程序
Visual Studio .net 2005入门 55- 60 swf