我正在尝试使用DinkToPdf库从HTML数据库生成PDF。
在启动文件中,我添加了:
var context = new CustomAssemblyLoadContext();
context.LoadUnmanagedLibrary(Path.Combine(Directory.GetCurrentDirectory(), "libwkhtmltox.dll"));
在启动web应用程序时,这条线给了我这个错误:
DllNotFoundException:无法加载DLL 'C:\Program \IIS Express\libwkhtmltox.dll‘或其依赖项之一:找不到指定的模块。(HRESULT例外: 0x8007007E) System.Runtime.Loader.AssemblyLoadContext.InternalLoadUnmanagedDllFromPath(string unmanagedDllPath) DllNotFoundException:无法加载DLL 'C:\Program \IIS Express\libwkhtmltox.dll‘或其依赖项之一:找不到指定的模块。(HRESULT例外: 0x8007007E)
发布于 2019-03-30 14:31:33
我找到了一些工作环境。他们不是完美的,但值得一试,他们确实有帮助,我能够从SQl服务器生成PDF。我将.dll文件放在下面的文件夹中,它可以工作。
C:\程序文件\IIS Express
和加载的.dll文件
Path.Combine(Directory.GetCurrentDirectory(), "libwkhtmltox.dll");
另一条路我走了整条路
context.LoadUnmanagedLibrary(Path.GetFullPath(@"C:\Users\User\source\repos\WebSolution\WebApp\libwkhtmltox.dll"));
他们俩都起作用了。但是,我敦促Net开发人员在GetCurrentDir上工作得非常好。或从“项目或解决方案”文件夹加载的方法。
Path.Combine(Directory.GetCurrentDirectory(), "libwkhtmltox.dll");
发布于 2019-06-20 22:41:41
万一其他人有同样的问题,我可以通过安装MicrosoftVisualWeb2015再发行版来解决这个问题。
发布于 2020-02-29 11:11:51
在库的git中提到,您应该下载二进制文件并将它们包含在源代码中:
将本机库复制到项目的根文件夹。在使用P/Invoke调用本机方法时,.NET核心将加载本机库。您可以找到本机库这里的最新版本。为您的操作系统和平台选择适当的库(64位或32位)。
让我崩溃的是,我将访问那个url,右键单击每个文件,然后选择save link as
(铬)。这将导致下载一个损坏的文件:
不要这样做,您必须打开github中的每个文件,然后使用Download
按钮。健康的档案比你走错路时得到的要大得多!
太荒谬了,但问题可能是由这个.
https://stackoverflow.com/questions/55430532
复制相似问题