我们正在将一些旧版应用程序从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)。但没有任何改变......
现在我想知道这是否可能取决于安装的不同版本的互操作。 是否有办法让遗留应用程序无需重新编译以用于新版本的互操作?
答案 0 :(得分:1)
试试NetOffice。它是Office Interop API的一个非常透明的包装器。它们在运行时检测并加载可用的Interop DLL,因此您不必针对它们构建解决方案。
答案 1 :(得分:0)
要解决此问题,我只需在新服务器上安装Office 2003。 (我发现两个版本的Office可以在同一台机器上共存而不会发生冲突......)