TuesPechkin无法加载DLL'wkhtmltox.dll'

devfunkd

我一直在使用TuesPechkin一段时间,今天我去将nuget包更新为新版本2.0.0+,并注意到Factory.Create()不再解析,所以我去了GitHub上阅读了所做的更改并注意到它现在期望dll的路径?

IConverter converter =
    new ThreadSafeConverter(
        new PdfToolset(
            new StaticDeployment(DLL_FOLDER_PATH)));

在过去的几个小时中,我尝试了几乎所有可以想到的路径,例如“ \ bin”,“ \ app_data”,“ \ app_start”等,但似乎找不到或想出它想要的内容路径和什么dll?

我可以在bin文件夹中看到TuesPechkin dll,这是我尝试的第一个路径,但是出现以下错误:

附加信息:无法加载DLL'wkhtmltox.dll':找不到指定的模块。(来自HRESULT的异常:0x8007007E)

该dll在哪里,现在我可以获取它,因为该库似乎不包含它。我尝试安装TuesPechkin.Wkhtmltox.Win32程序包,但仍然找不到该dll。我也在asp.net网站项目中使用了它,所以我认为使用以下方法应该可以获得路径,对吗?

var path = HttpContext.Current.Server.MapPath(@"~\bin\TuesPechkin.dll");

更多信息:https : //github.com/tuespetre/TuesPechkin/issues/57

蒂莫西·杜林

Tuespechkin在“ wkhtmltox.dll”文件的Win32和Win64嵌入式软件包中有一个zip文件作为资源。

当您使用Win32或Win64 Embedded程序包时,它将解压缩文件并将其放置在您指定的目录中。

我一直在将wkhtmltox dll的副本放在Web应用程序目录的根目录中,并使用Web应用程序的服务器物理路径将DLL_FOLDER_PATH指向它。

根据作者的说法,必须将转换器设置在静态字段中才能获得最佳效果。

我这样做了,但是在我使用完转换器后将其设置为null,这似乎可行。

Tuespechkin是wmkhtmlox dll文件的包装器。

原始文件是用C ++编写的,因此不会自动在C#或VB.NET或任何其他托管代码域中使用。

Tuespechkin.dll文件不包含“ wkhtmltox.dll”的副本。从互联网下载后,您要么必须使用其他嵌入式部署模块之一,要么在Web应用程序中安装“ wkhtmltox.dll”的副本。那就是我所做的,而且似乎工作正常。

我正在使用Team Foundation Server,并且在使用Tuespechkin例程后尝试编译代码的尝试将首次失败,因为“ wkhtmltox.dll”文件被锁定了,但是您要做的只是简单地重试构建,它将通过。

我在32位例程无法在64位环境中工作以及64位环境无法在localhost上进行测试时遇到问题。在检查了Tuespechkin的源代码以及Win32和Win64嵌入式部署程序包的源代码之后,我采用了解决方法。

只要您为输入指定网址而不是原始html,它就可以很好地工作。

较旧的软件包不能很好地渲染css。

如果使用的是print.aspx例程,则可以为其创建URL作为相对于主URL的偏移量。

我目前没有与我一起使用的源代码来偏移您的Web应用程序的基本URL,但这只是HttpRequest的一个分支。

您必须使用物理路径来查找.dll,但是可以将Web路径用于打印例程。

我希望这能回答您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章