无法加载DLL'ABCpdf9-64.dll'。找不到指定的模块(HRESULT异常:0x8007007E)

时间:2014-02-01 16:00:55

标签: c# abcpdf9

我已在本地计算机上安装了abcPDF 9.1.1.5版本,一切正常。 但我将代码部署到Windows Server 2008 R2机器上,我收到此错误。

任何人都可以指导我可能出现的问题。

我已经探讨过以下文章,这对我不起作用。

12

代码:

string strFileName = Invoice.InvoiceNumber;
XSettings.License = "something-something-something";
Doc m_GeneratePDF = new Doc();
m_GeneratePDF.HtmlOptions.Engine = EngineType.Gecko;
StringBuilder strBuilderHTML = new StringBuilder();
string strHTML;
strBuilderHTML.Append("<HTML>");
strBuilderHTML.Append("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />");
strBuilderHTML.Append("<head>");
//strBuilderHTML.Append("<link href='styles/Site.css' rel='stylesheet' type='text/css' />");
strBuilderHTML.Append("</head>");
strBuilderHTML.Append("<BODY>");
strHTML = strBuilderHTML.ToString();

theID = m_GeneratePDF.AddImageHtml(strHTML);

这与我的问题有关。

3 个答案:

答案 0 :(得分:1)

只想添加我的解决方案:
在服务器上安装ABCpdf(在我的情况下是“ABCpdf.NET64.exe”),就是这样。 (您可以复制一些dll文件来解决问题)

错误:
无法加载DLL'ABCpdf10-64.dll':找不到指定的模块。 (HRESULT异常:0x8007007E)

环境(所有x64)
PROD: Windows Server 2012 R2 开发: Windows 10,Visual Studio 2015

答案 1 :(得分:0)

最后在与这个问题战斗3天后,我解决了它。

这是我做的: 1)我从32位机器窗口8发布代码 2)我的服务器是Windows Server 2008 R2 64位机器。

=&gt;我启用了来自iis选项的32位应用程序,这些应用程序从未根据谷歌搜索解决我的问题 然后我 =&GT;设置“加载用户配置文件”,这再一次从未解决我的问题。 =&gt;然后有人告诉我在你的服务器上给abcPDF和abcGeco dll的全部权利,这些dll也从来没有用过。

然后我终于从64位机器编译我的代码或者我复制了64位ABCpdf&amp; ABCGeco将bin文件夹中的dll文件存入我最终工作的已发布文件夹中。

答案 2 :(得分:0)

这在这里可能不会有太大帮助。但是,在 Windows 更新破坏了 ASP.NET Web 应用程序中 ABCPDF 的一个非常旧的实现之后,我也从一个继承的项目中为此而苦苦挣扎。我并不是说您应该重复这些步骤,但我将所有这些步骤放在此处,以防它帮助其他人确定他们可能需要做什么。另外,我使用的是 ABCPDF10,但我不明白为什么这不适用于任何版本。

  1. 我安装了 64 位 ABCPDF10,然后通过 MSI 为每个安装了 32 位 ABCPDF10。
  2. 然后,我按照 ABCPDFs 说明将各自 C:/Program Files 目录中的文件手动复制到我的项目的 bin/ 中。这对我不起作用,因为当我在 VS2015 中构建时,由于某种原因它看不到 .DLL。
  3. 然后我通过手动从我的项目 bin/ 中删除文件,然后在 Server2012R2 中使用添加/删除应用程序来卸载它。
  4. 然后,我使用 Nuget 下载了 ABCPDF,并且成功并且可以构建。但我仍然需要 ABCPDF.Gekco
  5. 然后我使用 Nuget 尝试安装 ABCPDF.Gecko。这下载了它,但它没有完全安装它。我手动将丢失的 .dll 和 .exe 复制到 bin/ 目录中并构建了项目。
  6. 正是在这一点上,我被原始海报中的错误消息困住了。
  7. 在这里对我有用的是我单独保留了 Project 和 bin/ 目录,然后我使用了 .MSI 安装程序并像任何其他程序一样仅将 x64 版本重新安装到 C:/。我不必复制任何文件。我刚刚重建了这个项目,然后繁荣了!那行得通。

感觉就像是注册表项/路径问题。但我不知道这是否正确。

希望能帮到别人。