【问题标题】:ASP .NET / VB .net Using Microsoft Interop Word - CreateObject("Word.Application") CrashASP .NET / VB .net 使用 Microsoft Interop Word - CreateObject("Word.Application") 崩溃
【发布时间】:2019-10-15 09:54:38
【问题描述】:

我只是想使用 Microsoft Interop Word 用我的 asp net vb net webform 站点填充一个单词点文件(使用书签)。

它在我的 IIS Express 上完美调试,但在我的 Windows Server 2016 / IIS 10 上崩溃。

Dim oWord As Word.Application
oWord = CreateObject("Word.Application")

服务器崩溃并显示如下消息:

Cannot create ActiveX component.(原始错误消息:Impossible de créer le composant ActiveX。)

我正在寻找修复方法,但很多关于此错误的帖子都已过时。

我尝试检查服务器注册表,并且密钥 {000209FF-0000-0000-C000-000000000046} 在这里,Microsoft Word 应用程序作为数据。

在服务器上安装了 Microsoft Office 2016 和 Word。

谢谢你

编辑 12/08/2020:问题与 Interop Word 的服务器使用有关。 为了解决这个问题,我不得不改用 OpenXML。

【问题讨论】:

标签: asp.net vb.net ms-word office-interop word-interop


【解决方案1】:

所有版本的 Microsoft Office 都经过设计、测试和配置,可作为最终用户产品在客户端工作站上运行。他们假设一个交互式桌面和用户配置文件。它们不提供满足设计为无人值守运行的服务器端组件需求所需的重入性或安全性级别。

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

如果您只处理开放的 XML 文档,您可以考虑使用 Open XML SDK。请参阅Welcome to the Open XML SDK 2.5 for Office 了解更多信息。

否则,您可以使用任何为服务器端执行而设计的第三方组件(例如 Aspose)。

【讨论】:

  • “此环境中的所有当前版本 [...]。” - 如果您从某处引用文本,请将其格式化为引用并引用您的来源。跨度>
【解决方案2】:

ASP.NET Cannot create ActiveX component

此链接实际上是我正在搜索的内容,但我的 DCOM 配置中没有任何 Microsoft Word 应用程序。

【讨论】:

  • 尝试在 32 位模式下打开 DCOM Conf,也无法打开 Word 应用程序
【解决方案3】:

在大多数情况下(默认情况下),从 VS 启动的本地进程内 Web 服务器(快速)作为 x32 位 Web 服务器运行。您的实际 Web 服务器很可能作为 x64 位服务器运行。因此,您需要安装 + 使用 x64 位版本的 word。 (你想在服务器上安装office x64)。

如前所述,这对于 Web 服务器代码来说往往不是一个好主意

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2012-06-14
    相关资源
    最近更新 更多