2

我创建了一个使用 C# 启动 Word 进程 (Microsoft.Office.Interopt.Word) 的 Windows 应用程序。我加载了两个插件 word.AddIns.Add(@"C:\temp\addin.dot", true);。此代码在我的 Windows 应用程序中运行良好。

为了能够远程启动这个过程,我创建了一个 MVC Web 应用程序。Web 应用程序使用相同的代码,但在我加载插件的部分失败:

错误: Word 无法打开此文档模板:(C:\temp\addin.dot)

Web 应用程序使用具有管理员权限和以下设置的应用程序池:

  • 启用 32 位应用程序:True
  • 加载用户配置文件:真

有谁知道问题可能是什么?为什么相同的代码在 Web 服务器上的行为不同?

编辑:任务管理器向我显示,文字处理是使用正确的用户帐户开始的。当我启动 Windows 应用程序时,它与我使用的帐户相同。

4

1 回答 1

5

Web 服务器并不意味着运行用户应用程序。由于您使用的是 COM 引用,因此该库需要运行应用程序才能执行操作。

如果您希望自动化文档生成/阅读,我的建议是使用像 DocX 这样的库。这将使您能够直接使用文件格式本身,而无需引入 COM 引用(互操作库)。

于 2015-01-27T15:42:27.743 回答