【问题标题】:Using MS Office Interop v11 with Office 2010将 MS Office Interop v11 与 Office 2010 一起使用
【发布时间】:2013-06-27 13:22:31
【问题描述】:

我们正在将一些旧版应用程序从 Win 2003 Server + IIS6 迁移到新的服务器 Win 2008 Server + IIS7。

我们面临几个问题,最后一个是我们的一些应用程序使用 Office Interop v11 (Office 2003),而在新服务器上安装了 Office 2010 (+ interop v14)。

我收到此错误:

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

我尝试在很多论坛之后解决它(例如:http://forums.asp.net/t/1303594.aspx/1)。但什么都没有改变......

现在我想知道这是否取决于安装的不同版本的互操作。 有没有办法让旧版应用在不重新编译它们以用于新版本的互操作时运行?

【问题讨论】:

  • 我知道目前这可能不适合您,但您根本不应该在 Web 应用程序中使用 Office Interop。 It's not officially supported by Microsoft.
  • @Heinzi 我知道,但正如我所说,这些是遗留应用程序......

标签: .net iis iis-7 office-interop office-2010


【解决方案1】:

试试NetOffice。它是 Office Interop API 的一个非常透明的包装器。它们在运行时检测并加载可用的互操作 DLL,因此您不必针对它们构建解决方案。

【讨论】:

  • 是否必须更改应用程序中的任何引用/依赖项才能使用此工具?
  • 这是一个图书馆。您需要引用它并更改您的 using 指令以导入 NetOffice 类型而不是 Interop 类型。使用 Interop 的代码几乎不需要更改。
【解决方案2】:

为了解决这个问题,我只是在新服务器上安装了 Office 2003。 (我发现两个版本的 Office 可以在同一台机器上共存而不冲突......)

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 2021-08-27
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多