首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TeamCity: GhostscriptSharp:尝试加载格式不正确的程序。(HRESULT例外: 0x8007000B)

TeamCity: GhostscriptSharp:尝试加载格式不正确的程序。(HRESULT例外: 0x8007000B)
EN

Stack Overflow用户
提问于 2016-02-01 12:57:49
回答 4查看 2.7K关注 0票数 2

在CI上运行测试时PDF转换失败。我正在使用GhostscriptsSharp库进行转换。

当我在本地运行我的测试时,我没有面对这个问题,PDF文件被正确地转换成图像。

我一直在互联网上寻找解决方案,但到目前为止,我发现的每一件事都没有帮助我找到解决方案。

试图加载格式不正确的程序。(HRESULT例外: 0x8007000B) System.BadImageFormatException:尝试加载格式不正确的程序。(除HRESULT: 0x8007000B外)在GhostscriptSharp.GhostscriptWrapper.CreateAPIInstance(IntPtr&实例,IntPtr caller_handle在GhostscriptSharp.GhostscriptWrapper.GeneratePageThumbs(String inputPath ),字符串outputPath,Int32 firstPage,Int32 lastPage,Int32宽度,Int32高度)在Framework.Utils.FileUtils.ConvertPdfToImages(String pdfPath,String imagesPath,( c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Framework\Utils\FileUtils.cs:line 90 at StepDefinitions.General.Search.SearchTableSteps.ThenImagesAreCorrectInDownloadedDocumentFromSearchGrid(Table table) ( c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\StepDefinitions\General\Search\SearchTableSteps.cs:line 282 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding,IContextManager contextManager,Object[]参数,ITestTracer testTracer,TimeSpan& table)( TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match ),TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Features.Clerk.Version_2.Clerk_QuickDocFeature.ScenarioCleanup() in c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Features\Clerk\version_2\ClerkQuickDoc.feature.cs:line 0 at Features.Clerk.Version_2.Clerk_QuickDocFeature.Clerk_DownloadRedactedDocument() in c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Features\Clerk\( TechTalk.SpecRun.Framework.TaskExecutors.StaticOrInstanceMethodExecutor.ExecuteInternal(ITestThreadExecutionContext testThreadExecutionContext) c:\TeamCity\buildAgent\work\1ace6ed01d0a43bb\TechTalk.SpecRun.Framework.Interfaces\TaskExecutors\StaticOrInstanceMethodExecutor.cs:line 40 at TechTalk.SpecRun.Framework.TestAssemblyExecutor.ExecuteTestNodeTask(TestNode testNode,c:\TeamCity\buildAgent\work\1ace6ed01d0a43bb\TechTalk.SpecRun.Framework.Executor\TestAssemblyExecutor.cs:line 215中的ITaskExecutor任务,TraceEventType eventType)

EN

回答 4

Stack Overflow用户

发布于 2016-02-01 18:48:36

“不正确的格式”错误通常发生在试图加载非.NET程序集(例如本机代码DLL)时,就好像它是.NET程序集,或者是为不同平台编译的二进制程序集(例如32位对64位)。使用ILSpy (用于托管程序集)或依赖关系沃克(用于本机DLL)等工具来验证二进制文件的属性是否与进程的属性匹配。由于看起来像第三方程序集(GhostscriptSharp)正在尝试加载,因此可能需要反映该程序集以确定错误是哪个文件。

票数 4
EN

Stack Overflow用户

发布于 2018-03-14 20:50:12

如果抛出异常的消息是“尝试加载格式不正确的程序”,这很可能是由于运行在64位服务器上的32位文件gsdll32.dll造成的。在艾丽思中,必须将运行应用程序的应用程序池的“启用32位应用程序”设置为True。在进行此更改后,回收应用程序池。

来源于这个答案

票数 3
EN

Stack Overflow用户

发布于 2016-03-18 12:50:07

通过检查选项Project->Properties->Build Platform target,我解决了Visual 2013中的项目中的相同问题:首选32位(如果将平台目标设置为任意CPU)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35131158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档