我可以在装有 MS-Office 2003 的机器上使用 microsoft interop dll 2010

Can I use microsoft interop dll 2010 on machine having MS-Office 2003

我在 ASP.Net 项目中使用 MS Interop 2010 DLL 生成 word 和 excel 文档。但是在部署服务器客户端上有 office 2003.

我担心的是 MS Interop DLL 2010 是否可以与 MS-Office 2003 一起使用或需要安装 MS-Office 2010?

注意:在开发环境中,我安装了 MSOffice 2010,MS Interop 2010 运行良好。

提前致谢。

interops 必须适合office 版本,因为它们只是一种访问office 功能的接口。所以你需要安装正确的 MS Office 版本,它应该会自动安装互操作。

无需安装相应的Office版本或interops。在使用缺少的成员之前,您可以将最新的互操作库用于旧的 Office 版本。例如,在 Office 2010 中引入了一个方法,而您尝试在 Office 2003 中调用它。在这种情况下,您将在 运行 时得到一个异常。所以,我建议在 运行 时间检查 Office 版本,然后才打电话给新成员。

此外,Microsoft 目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM、和 NT 服务),因为当 Office 在此环境中 运行 时,Office 可能表现出不稳定的行为 and/or 死锁。

如果您正在构建 运行 在服务器端上下文中的解决方案,您应该尝试使用已针对无人值守执行安全处理的组件。或者,您应该尝试找到至少允许 运行 客户端部分代码的替代方案。如果您从服务器端解决方案使用 Office 应用程序,该应用程序将缺少许多 运行 成功所必需的功能。此外,您将承担整体解决方案稳定性的风险。在 Considerations for server-side Automation of Office 文章中阅读更多相关信息。

作为解决方法,您可以考虑使用 Open XML SDK,有关详细信息,请参阅 Welcome to the Open XML SDK 2.5 for Office。或者只使用为服务器端执行而设计的任何第三方组件。