带有thid-party DLL的WCF服务:“BadImageFormatException”或“PInvoke unbalanced stack”异常

时间:2018-01-07 00:23:39

标签: wcf iis dll wkhtmltopdf

我正在尝试在WCF服务中使用DinkToPDF从HTML生成PDF文件。该库是wkhtmltopdf库的包装器。这需要在解决方案根文件夹中为wkhtmltopdf提供32位或64位.dll。

当调用DinkToPDF“BasicConverter.Convert()”方法时,我得到以下异常(64位wkhtmltopdf dll):

  

'尝试加载格式不正确的程序。 (HRESULT异常:0x8007000B)'

这是32位wkhtmltopdf dll:

  

'调用PInvoke函数'DinkToPdf!DinkToPdf.WkHtmlToXBindings :: wkhtmltopdf_init'使堆栈失衡。这很可能是因为托管PInvoke签名与非托管目标签名不匹配。检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配。'

所有这些代码在控制台应用程序中运行正常,使用64位dll,但在WCF服务中抛出上述异常。从谷歌搜索,我可以看到这可能与ISS处理x64 / x86构建的方式有关,但当涉及到这方面的事情时,我已经离开了我的联盟。

我感谢任何建议。

由于

0 个答案:

没有答案