1

.Net C# Web 应用程序,可从其网页之一生成 Word 文档。

在开发服务器中,我们最近将 microsoft office 版本从 2010 升级到 2016。在初始化 word dll 时遇到问题(在另一个环境中,我们仍然安装了 office 2010,我们没有看到这个问题,但是 microsoft office 从 2010 升级到 2016 年是强制性的)。所以我需要帮助来解决这个问题。

using Word = Microsoft.Office.Interop.Word; ......

App wrodApp = new Word.Application();-->这一行导致以下错误

错误:由于以下错误,检索具有CLSID {000209FF-0000-0000-C000-000000000046}的组件的 COM 类工厂失败:80080005服务器执行失败(来自 HRESULT 的异常:0x80080005 (CO_E_SERVER_EXEC_FAILURE))

请让我知道如何解决此问题?

4

1 回答 1

0

这是MS所说的:

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

如果您正在构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用来自服务器端解决方案的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。

在Office 服务器端自动化的注意事项文章中阅读有关此内容的更多信息。

您可以考虑为服务器端执行而设计的第三方组件。或者,如果您只处理 Open XML 文档,您可以考虑使用Open XML SDK 2.5 for Office

于 2021-06-10T10:39:38.827 回答