亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法加載DLL(無法找到模塊HRESULT:0x8007007E)

無法加載DLL(無法找到模塊HRESULT:0x8007007E)

拉莫斯之舞 2019-09-02 15:33:39
我有我需要在我的.NET 4.0應用程序中使用的非托管C ++ API代碼的DLL庫。但我嘗試加載我的DLL的每個方法都會出錯:無法加載DLL“MyOwn.dll”:找不到指定的模塊。(來自HRESULT的異常:0x8007007E)我已閱讀并嘗試了我在互聯網上找到的severa解決方案。什么都行不通..我嘗試過使用以下方法:[DllImport("MyOwn.dll",  CallingConvention = CallingConvention.Cdecl)][return: MarshalAs((UnmanagedType.I4))]public static extern Int32 MyProIni(string DBname, string DBuser_pass,    string WorkDirectory, ref StringBuilder ErrorMessage);當我嘗試按照這篇文章和我運行這個例子時(從下載的代碼中)它運行沒有問題(使用的DLL在bin / debug文件夾中)我已將我的dll(以及它所依賴的所有文件復制到我的bin文件夾中)。我也試過這種方法,但得到了同樣的錯誤:[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")][return: MarshalAs(UnmanagedType.I4)]public static extern  int MyproIni(string DBname, string DBuser_pass,     string WorkDirectory, ref StringBuilder ErrorMessage);有什么建議?
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

您可以使用dumpbin工具找出所需的DLL依賴項:


dumpbin /DEPENDENTS my.dll

這將告訴您DLL需要加載哪些DLL。特別注意MSVCR * .dll。我已經看到在未安裝正確的Visual C ++ Redistributable時出現錯誤代碼。


您可以從Microsoft網站獲取“Visual Studio 2013的Visual C ++ Redistributable Packages”。它安裝c:\ windows \ system32 \ MSVCR120.dll


在文件名中,120 = 12.0 = Visual Studio 2013。


請注意,對于DLL的目標平臺,您擁有正確的Visual Studio版本(10.0 = VS 10,11 = VS 2012,12.0 = VS 2013 ...)正確的架構(x64或x86),并且您還需要小心調試版本。DLL的調試版本依賴于MSVCR120d.dll,它是庫的調試版本,它與Visual Studio一起安裝,但不是由Redistributable Package安裝。


查看完整回答
反對 回復 2019-09-02
  • 3 回答
  • 0 關注
  • 4089 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號