【发布时间】:2016-05-09 22:35:14
【问题描述】:
在 CI 上运行测试时 PDF 转换失败。我正在使用 GhostscriptsSharp 库进行转换。
我在本地运行测试时没有遇到此问题,PDF 文件已正确转换为图像。
我一直在互联网上寻找解决方案,但到目前为止,我发现的每件事都没有帮助我找到解决方案。
试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)
System.BadImageFormatException:尝试加载格式不正确的程序。 (来自 HRESULT 的异常:0x8007000B) 在 GhostscriptSharp.GhostscriptWrapper.CreateAPIInstance(IntPtr& pintance, IntPtr caller_handle) 在 GhostscriptSharp.GhostscriptWrapper.CallAPI(String[] args) 在 GhostscriptSharp.GhostscriptWrapper.GeneratePageThumbs(字符串 inputPath,字符串 outputPath,Int32 firstPage,Int32 lastPage,Int32 宽度,Int32 高度) 在 c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Framework\Utils\FileUtils.cs:line 90 中的 Framework.Utils.FileUtils.ConvertPdfToImages(String pdfPath, String imagesPath, Int32 pageCount) 在 StepDefinitions.General.Search.SearchTableSteps.ThenImagesAreCorrectInDownloadedDocumentFromSearchGrid(Table table) 在 c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\StepDefinitions\General\Search\SearchTableSteps.cs:line 282 在 TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding 绑定,IContextManager contextManager,Object[] 参数,ITestTracer testTracer,TimeSpan& 持续时间) 在 TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch 匹配,对象 [] 参数) 在 TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) 在 TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() 在 C:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Features\Clerk\version_2\ClerkQuickDoc.feature.cs:line 0 中的 Features.Clerk.Version_2.Clerk_QuickDocFeature.ScenarioCleanup() 在 Features.Clerk.Version_2.Clerk_QuickDocFeature.Clerk_DownloadRedactedDocument() 在 c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Features\Clerk\version_2\ClerkQuickDoc.feature:line 28 在 c:\TeamCity\buildAgent\work\1ace6ed01d0a43bb\TechTalk.SpecRun.Framework.Interfaces\TaskExecutors\StaticOrInstanceMethodExecutor.cs:line 40 中的 TechTalk.SpecRun.Framework.TaskExecutors.StaticOrInstanceMethodExecutor.ExecuteInternal(ITestThreadExecutionContext testThreadExecutionContext) 在 c:\TeamCity\buildAgent\work\1ace6ed01d0a43bb\TechTalk.SpecRun.Framework.Executor\TestAssemblyExecutor.cs:line 215 中的 TechTalk.SpecRun.Framework.TestAssemblyExecutor.ExecuteTestNodeTask(TestNode testNode, ITaskExecutor task, TraceEventType eventType)
【问题讨论】:
-
如果没有负责错误消息的相关步骤/代码,将很难帮助您解决问题。
-
现在有 64 位版本的 ghostscriptsharp。但是,我根本无法让它工作。正如其他人所指出的,如果您有可用的 IIS 并且不介意允许 32 位应用程序运行,那么解决方法就是:IIS > 应用程序池 > {website} 并右键单击 > 高级设置 > 启用 32 位应用程序 = True。回收应用程序池并停止并重新启动网站。
标签: c# continuous-integration teamcity badimageformatexception ghostscriptsharp