C#程序从命令行打开Word docx(非doc),在Jenkins中失败

时间:2019-03-26 20:27:57

标签: c# jenkins ms-word office-interop

在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。

0 个答案:

没有答案