首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序使用MicrosoftOfficeInteropv.11与Windows 7,Microsoft 2010

应用程序使用MicrosoftOfficeInteropv.11与Windows 7,Microsoft 2010
EN

Stack Overflow用户
提问于 2012-06-29 20:47:26
回答 3查看 2.4K关注 0票数 1

我继承了一个使用Visual 2003和.NET 2.0构建的自定义应用程序。它使用Microsoft版本11 (适用于Office 2003),最初运行在Windows上。应用程序依赖于读取Excel、Word和Powerpoint文件,以及读取.PST文件的Outlook。

现在,我正试图让这个应用程序在64位的Windows 7机器上工作,它有Office 2010。在大多数情况下,应用程序工作正常--它正确地读取.PST文件,并将电子邮件和附件(以及正确的元数据)上传到Sharepoint。只是在我关闭应用程序并尝试打开Microsoft 2010产品(Word、Excel、Powerpoint、Outlook)之后,这些程序就会崩溃。错误信息会说"Microsoft ____已停止工作“。

查看事件查看器时,日志通常如下所示:

代码语言:javascript
运行
复制
Faulting application name: OUTLOOK.EXE, version: 14.0.6109.5005, time stamp: 0x4e79b881
Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp: 0x4ce7ba58
Exception code: 0xc0000005
Fault offset: 0x0002e3fb
Faulting process id: 0x1b20
Faulting application start time: 0x01cd5631d6ed41d9
Faulting application path: C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE
Faulting module path: C:\WINDOWS\SysWOW64\ntdll.dll
Report Id: 2f11010e-c226-11e1-8b8d-9cb70de93ccf

在做了大量浏览之后,我猜想这与引用Office 2003 PIA version 11的应用程序有关,而我在这台计算机上的版本是Office 2010的PIA版本14。而且,我100%肯定是这个应用程序导致Office 2010应用程序崩溃,因为每次运行该遗留应用程序时都会发生这种情况。重新启动计算机修复这些崩溃,但我不希望每次运行这个应用程序时都重新启动!

除了实际更新源代码之外,我还能做些什么来解决这个问题吗?

编辑:我现在可以访问2010 (C#),我可以使用Reflector获得源代码文件。所以我想我可以开始做代码修改了。不过,我还是有很多错误,请看下面的回答.

EN

回答 3

Stack Overflow用户

发布于 2012-06-30 12:46:01

听起来,这个遗留应用程序仍然保留着两个共享组件,从而导致后续程序崩溃。

如果你不能改变遗留应用程序,你就没什么可以做的了。像上面的注释一样,调试它是一种很好的方法。但实际上,你需要能够改变应用程序。

你能拿到源代码吗?或者这不是供应商“交付”的一部分吗?

票数 3
EN

Stack Overflow用户

发布于 2012-11-09 19:48:55

我在使用VB.Net 2012,Interop.Excel for MSO14.0和Windows7,64位时也遇到了类似的问题。我通过目标.Net 4.0 (而不是4.5 )和64位cpu消除了这个问题。

票数 2
EN

Stack Overflow用户

发布于 2012-07-12 16:28:36

我试图删除对旧的Microsoft版本11 (针对Office 2003)的引用,并添加对当前PIA版本14 (针对Office 2010)的新引用。我还将目标.NET更改为.NET 4 ..。在构建包时,我现在收到了很多奇怪的代码错误。

主文件

代码语言:javascript
运行
复制
using System;
using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Outlook;
using Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Interop.Word;

但是当我试图构建这个项目时,我会得到所有这些错误

代码语言:javascript
运行
复制
Microsoft.Office.Interop.Word.System does not contain a definition for 'IO'

The type name 'Drawing' does not exist in the type 'Microsoft.Office.Interop.Word.System'

不确定为什么Visual不读取"System“命名空间。看起来单词命名空间正在覆盖系统名称空间吗?当我删除“使用Microsoft.Office.Interop.Word”命名空间时,所有构建错误都会消失(显然,实际上使用Word的对象或方法除外)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11268742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档