4

我在本地机器上安装了 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);

这与我的问题有关。

4

3 回答 3

1

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

这是我所做的:1)我从 32 位机器 windows 8 发布代码 2)我的服务器是 windows server 2008 R2 64 位机器。

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

最后,我从 64 位机器编译了我的代码,或者我将 64 位 ABCpdf 和 A​​BCGeco dll 文件从 bin 文件夹复制到了我发布的文件夹中,该文件夹终于可以工作了。

于 2014-02-06T16:29:09.873 回答
1

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

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

环境(所有 x64)
产品:Windows Server 2012 R2 开发:Windows 10、Visual Studio 2015

于 2016-06-08T09:38:40.413 回答
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:/ 就像任何其他程序一样。我不必复制任何文件。我刚刚重建了项目并繁荣了!那行得通。

在我看来,这就像一个注册表项/路径问题。但我不知道这是否正确。

希望这对其他人有帮助。

于 2021-03-02T04:12:28.940 回答