在Windows 10上运行 我有一个C#程序(除其他功能外)可以打开,修改和编写Word文档(docx,而不是doc)。 从命令行可以正常工作。 但是在Jenkins中运行,Documents.Open()调用返回null
我在StackOverflow上阅读了以下内容: Unable to open word document from jenkins open word doc with c# Interop.Word Documents.Open is null
我添加了C:\ Windows \ System32 \ config \ systemfile \ Desktop和C:\ Windows \ SysWOW64 \ config \ systemfile \ Desktop 结果:程序在Documents.Open上挂起(System32没有更改; SysWOW64导致挂起)
using Word = Microsoft.Office.Interop.Word;
// … lots of stuff
var wordApplication = new Word.Application();
wordApplication.Visible = false;
Word.Application wordApp = null;
if (wordApplication != null)
wordApp = wordApplication as Word.Application;
Word.Document wordDoc = null;
if (wordApp != null){
if(!IsFileinUse(reportPath))
{
// this line is the problem.
// It works from the command line
// In Jenkins, it either returns null or hangs
wordDoc = wordApp.Documents.Open(reportPath.FullName);
}
}
我希望它在Jenkins中的行为就像在命令提示符中一样:成功打开文件并允许操作-不要挂起或返回null。