我在两台不同的机器上有相同的应用程序。在第一台机器上一切正常,而在第二台机器上我遇到问题。
调试代码我可以看到,当调用 Interop.Word Documents.Open 时,执行保持锁定状态,并且永远不会转到下一个代码行,而浏览器(IE7)则停留在加载状态。
我需要打开一个word模板,在打开的文档中写入内容,然后关闭它。 所以我做了以下事情:
_Application wdApp = new Application();
wdApp.Documents.Open(templatePath);
为什么在第一台机器上这有效?引用有问题吗?我在我的机器中添加了相同的 Interop dll...
在 DCOM 配置设置中,我在两台计算机上对 Microsoft Word 97-2003 文档具有相同的配置:
身份 -> 启动用户
保护 -> 具有所有权限的 ASPNET 用户和管理员
1 - 编辑:页面已锁定,在调试中,当我转到:
wdApp.Documents.Open(templatePath);
没有任何附加内容,控制永远不会进入下一个代码行,并且浏览器永远加载
最佳答案
有时,word.interop 可能会导致之前打开的 Word 文档损坏(例如,如果它没有正确保存和关闭)。这不容易检测到,并且单词互操作的行为将如您所描述的那样。 我以前也遇到过同样的问题。 尝试删除您要打开的模板文件。将其替换为新文件。看看这是否有帮助。
关于c# - Interop.Word Documents.Open 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16916416/