PDFTron是第三方库,用于将文件从一个扩展名转换为pdf文档。
我们已成功在多个场景和操作系统中使用它。
现在,随着我们向TFS等自动构建系统发展,我们正在尝试将pdf转换作为测试阶段的一部分 我们尝试了两种方法,使用标准的UnitTest,我们尝试了由PowerShell脚本调用的.Exe文件。以下任何一个都没有成功运行并抛出以下错误:
Unhandled Exception: pdftron.Common.PDFNetException: Exception:
○ Message: An error occurred while converting the file.
Detailed error:
○Document failed to open
○ Conditional expression: false
○ Filename : Convert.cpp
○ Function : trn::PDF::Convert::ToPdf
○ Linenumber : 1825
at pdftron.PDF.Convert.ToPdf(PDFDoc in_pdfdoc, String in_filename)
at ImageComapareTool.Program.Main(String[] args)
Exception Message: MSBuild error 1 has ended this build. You can find more specific information about the cause of this error in above messages. (type BuildProcessTerminateException)
Exception Stack Trace: at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
从构建服务器手动运行可执行文件\ powershell脚本可以正常工作。这导致我们认为在Windows服务下运行时这是一个问题
我们遇到了this文档,但由于我们在本地用户下运行该服务,因此无法给出任何好的假设。
关于指向正确方向的可选解决方案的任何线索都会有所帮助
答案 0 :(得分:0)
最终,在尝试了Pdftron或psexec运行的实验构建等多个方向后,我们以交互模式运行TFS服务,这意味着实际用户必须登录到TFS Build服务器....所以&#39 ;它不是最方便的解决方案,因为它非常脆弱,但至少它起作用。