簡體   English   中英

REGSVR32:模塊“xxxxx.dll”無法加載...無法找到相關的程序集

[英]REGSVR32: the module “xxxxx.dll” failed to load … dependent assembly could not be found

我在Windows 7 x64下注冊* .dll時遇到問題。

我嘗試將* .dll放在C:/ Windows / System32和C:/ Windows / SysWOW64中,並嘗試在提升的命令提示符下注冊“regsvr32 xxxxx.dll”。 我也嘗試從一個單獨的目錄注冊它。 它響應以下錯誤:

The module "xxxxx.dll" failed to load.
Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.
The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

EventLog注意到:

Activation context generation failed for "C:\(path-to-dll)
Dependent Assembly
Microsoft.VC90.ATL,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found.
Please use sxstrace.exe for detailed diagnosis

注意我已經安裝了x86和x64 Microsoft Visual C ++ 2010 Redistributables。

有趣的是,我試圖在我的工作x64 Windows 7筆記本電腦上注冊相同的* .dll,並按預期注冊。 我想這傾向於某種C ++依賴缺失/ ATL相關的事實?

如果有人能幫助我指出正確的方向或對此事有任何額外的啟示; 我要感激不盡。

問候。

這幾乎可以肯定是由於缺少依賴性。 使用Dependency Walker之類的工具來查找DLL所需的依賴項。 或者,如果DLL由第三方提供,請閱讀其文檔,該文檔應指定所需的依賴項。

請注意, Microsoft.VC90.ATL表示MSVC的版本9,即VS2008。 因此,您需要安裝MSVC 2008運行時以滿足該依賴性。 看起來您錯誤地安裝了MSVC 2010運行時。

最后,請不要將文件放入系統目錄。 它屬於系統,不應由您修改。

依賴程序集Microsoft.VC90.ATL,processorArchitecture =“x86”

這表示缺少Visual C ++運行時模塊(請參閱Visual C ++庫作為共享的並排程序集 )。 它可以作為可再發行的安裝程序( 可能是您需要的安裝程序; x86變體)提供,您需要在注冊DLL之前安裝它(依賴於缺少的組件)。

這也是失敗的另一個原因。 我自己就碰到了這個。 我使用的是不支持Windows 7的API方法例如PathCchRemoveFileSpec ,我必須將其更新為舊的, 已棄用的PathRemoveFileSpec 我使用Dependency Walker來驗證這是原因。 依賴沃克有點遺憾。 如果你查看我的屏幕截圖(下圖),紅色部分顯示了實際問題 - 它無法在DLL中解析的方法等等 - 但是藍色顯示實際上根本不是問題的DLL(這些存在DLL)。 由於Dependency Walker太老了,它有點過時(它過時,它認為某些東西不時可用),但通常,它也說實話......你只需要從頂部向下滾動一下左邊的窗格就像我一樣。 自我注意:請下次向下滾動。 無論如何,一旦我拋棄了pathcch.h ,一切都在努力7.快樂的編碼。

在此輸入圖像描述

我從這個錯誤消息中解脫了。 在我的二進制路徑中,我有一個SPACE 剛用UNDERSCORE(_)替換了SPACE 它對我有用。

因為我在通過Regsvr32注冊x.dll時也面臨同樣的問題,可能的原因之一是x.dll可能是未損壞的dll。 要在點網絡代碼中使用unmanged dll導出功能,您必須使用Dllimport

暫無
暫無

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

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