Git*_*ura 5 c# html-to-pdf wkhtmltopdf .net-core dinktopdf
我正在尝试使用DinkToPdf库从 HTML SQL 服务器数据库生成 PDF 。
在我添加的启动文件中:
var context = new CustomAssemblyLoadContext();
context.LoadUnmanagedLibrary(Path.Combine(Directory.GetCurrentDirectory(), "libwkhtmltox.dll"));
Run Code Online (Sandbox Code Playgroud)
该行在启动网络应用程序时给了我这个错误:
DllNotFoundException:无法加载 DLL 'C:\Program Files\IIS Express\libwkhtmltox.dll' 或其依赖项之一:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)
System.Runtime.Loader.AssemblyLoadContext.InternalLoadUnmanagedDllFromPath(string unmanagedDllPath)
DllNotFoundException:无法加载 DLL 'C:\Program Files\IIS Express\libwkhtmltox.dll' 或其依赖项之一:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)
我找到了一些解决方法。它们并不完美,但值得一试,而且它们确实提供了帮助,我能够从 SQl Server 生成 PDF。我将 .dll 文件放在以下文件夹中并且它起作用了。
C:\Program Files\IIS Express
并加载 .dll 文件
Path.Combine(Directory.GetCurrentDirectory(), "libwkhtmltox.dll");
Run Code Online (Sandbox Code Playgroud)
另一种方式是我走完整条路
context.LoadUnmanagedLibrary(Path.GetFullPath(@"C:\Users\User\source\repos\WebSolution\WebApp\libwkhtmltox.dll"));
Run Code Online (Sandbox Code Playgroud)
他们俩都工作了。不过,我敦促 Net Core 开发人员好好研究 GetCurrentDir。或者从项目或解决方案文件夹加载的方法
Path.Combine(Directory.GetCurrentDirectory(), "libwkhtmltox.dll");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16398 次 |
| 最近记录: |