簡體   English   中英

無法加載 DLL 'ABCpdf9-64.dll'。 找不到指定的模塊(來自 HRESULT 的異常:0x8007007E)

[英]Unable to load DLL ‘ABCpdf9-64.dll’. The specified module could not be found (Exception from HRESULT: 0x8007007E)

我在本地機器上安裝了 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 天后,我解決了它。

這是我所做的:1)我從 32 位機器 windows 8 發布代碼 2)我的服務器是 windows server 2008 R2 64 位機器。

=> 我從 iis 選項中啟用了 32 位應用程序,這些應用程序從未按照谷歌搜索解決過我的問題,然后我 => 設置“加載用戶配置文件”,這再次從未解決過我的問題。 =>然后有人告訴我授予您服務器上的 abcPDF 和 abcGeco dll 的全部權限,但這些 dll 也從未工作過。

然后我終於,從 64 位機器編譯了我的代碼,或者我將 64 位 ABCpdf 和 A​​BCGeco dll 文件從 bin 文件夾復制到我最終工作的已發布文件夾中。

只想添加我的解決方案:
在服務器上安裝 ABCpdf(在我的情況下為“ABCpdf.NET64.exe”),僅此而已。 (你可能會復制一些 dll 文件來解決這個問題)

對於錯誤:
無法加載 DLL 'ABCpdf10-64.dll':找不到指定的模塊。 (來自 HRESULT 的異常:0x8007007E)

環境(所有 x64)
產品:Windows Server 2012 R2 開發:Windows 10、Visual Studio 2015

這在這里可能不會有太大幫助。 但是,在 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:/。 我不必復制任何文件。 我剛剛重建了這個項目,然后繁榮了! 那奏效了。

對我來說感覺就像是注冊表項/路徑問題。 但我不知道這是否正確。

希望這能幫助別人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM