簡體   English   中英

找不到指定的模塊-64位dll

[英]The specified module could not be found - 64 bit dll

當我嘗試使用VC ++(VS2008)進行編譯,以通過更改其編譯的平台將dll轉換為x64時,我使用32位dll使用Native C編寫。 但是,當我嘗試從也是“ x64”平台的C#應用​​程序訪問dll時,無法加載dll。 我使用Dllimport將dll與我的應用程序鏈接。

我在Vista中使用的操作系統,但是我無法從我的應用程序調用at dll函數,它說無法加載dll。

有什么辦法可以解決此問題。

期待您的幫助。

問候,嘎

我的猜測是依賴關系,您的新DLL可能缺少一些所需的64位DLL。

嘗試使用工具“ dependency walker”(類似於ldd的獲勝工具,www.dependencywalker.com),找出與哪些內容有什么聯系。 可能會有所幫助。

檢查要在其中構建dll的不同版本(x86 / x64)的位置。

最簡單的方法是將64位dll的目標目錄設置為目標文件夾的“ x64”子目錄。 在64位解決方案配置中,將C#的目標目錄也設置為“ x64”目錄。

這將確保每個平台的exe嘗試加載正確的dll。

謝謝您幫忙。

當我將dll放在C:\\ Windows \\ System32 \\下時,該錯誤已解決。

謝謝Ga

我曾經有過這樣的問題。 我有一個C ++ DLL,它充當到硬件的接口,需要從C#調用。 但是,如果未插入硬件,它將導致DllImport調用失敗。這是因為DLL初始化函數返回了失敗,所以C#只是說它無法加載DLL,這可能與在何處無關DLL是。

在C代碼中設置DLL時,請檢查是否沒有引起某種錯誤。

暫無
暫無

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

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