1

我最近开发了一个使用 的小工具Microsoft.Office.Excel.Interop,并根据我的 References 文件夹添加了对 Microsoft Excel 14.0 对象库的引用。我还应该提到我的机器上有 MS Office 2010,所以该工具在那里工作得很好。

但是,我有一个客户端用户试图在他的机器上安装该工具(显然他安装了 MS Office 2003)并且收到一条错误消息。

我想知道,如果我下载 Microsoft Excel 12.0 对象库并将其引用添加到我的工具中,以便我同时引用 MS Excel 14 和 MS Excel 12,会有什么问题吗?......这样做是否有意义?

同样,我对 .NET 还很陌生,我的编程经验纯粹是经验性的,就像在没有学校一样。只是提醒一下,以防这是一个愚蠢的问题。

编辑:

我发现了一些似乎可以解决这个问题的东西。我让我的客户从这个链接下载文件:http: //www.microsoft.com/en-us/download/details.aspx?id=3508

然后只需按照底部的说明进行操作,这显然解决了问题。他能够安装该工具并毫无问题地运行它。

4

2 回答 2

3

我发现的最佳解决方案是使用虚拟机作为构建机器,其中安装了我愿意支持的最旧版本的 office Interop 库。我确实遇到了许多问题,试图在我的开发机器上使用多个互操作版本进行开发。

Microsoft 确实提供了为多个 Office 版本构建客户端的指南,但我发现这对于我的特定用例来说太麻烦了。

http://support.microsoft.com/default.aspx?kbid=244167

您还可以考虑使用替代库(例如开源 EP Plus)完全跳过 Interop。我还没有亲自尝试过,但它看起来很有希望。

http://epplus.codeplex.com/

于 2013-01-14T17:36:54.980 回答
0

Interops 的版本之间存在一些差异。如果您将使用新版本中添加的某些成员,则旧版本将无法使用。例如,这里是 Interop 版本 14 中添加的所有内容的列表:

http://msdn.microsoft.com/en-us/library/office/ff194938(v=office.14).aspx

如果您使用其中任何一个,您的应用程序将无法在旧版本中运行,因为这些成员在旧版本中不可用。

于 2013-02-18T21:22:09.103 回答