一、发生错误的环境
- Vista/XP/Windows 2003
- 安装了Office2007;
- Visual Studio 2005/2008
二、错误现象
- 在Visual Studio 2005开发环境中
- 在设计时,可以顺利的将axSpreadSheet控件拖动到Form窗口内,可以正常进行控件的相关操作;
- 在开发环境中直接运行程序时,多数情况下,axSpreadSheet能够正常工作。
- 直接运行编译后的文件将出现下面的错误:
- 在Visual Studio 2008开发环境中
- 在设计时,将axSpreadSheet控件向Form窗口拖动时,出现下面的错误:
控件axmicrosoft.office.interop.owc11.axspreadsheet在设计器中引发了一个未处理的异常。
尝试读取或写入受保护的内存。这通常指其他内存已经损坏。
system.accessviolationexception:尝试读取或写入受保护的内存。
system.windows.forms.unsafenativemethods.ioleinplaceobject.uideactivate();
system.windows.forms.AxHost.uideactivate();
system.windows.forms.AxHost.onlostfous(eventargs e);
三、解决过程
- 下载Office 2003 Add-in: Office Web Components (owc11 COM)并安装该组件;
- 下载 Microsoft Office 2003 Web Components Service Pack 1 (SP1) for the 2007 Microsoft Office System,并安装该文件。
问题解决。