简体   繁体   中英

64 bit dll in 64 bit process Vista fails - Unable to load DLL 'dllname': The specified module could not be found

I have a native C code, I compiled the code in vc++ 2008 and its compiled with 'x64' as platform in configuration manager and I have an c# application which is also compiled with 'x64' as platform and it calls the dll function. I have used Dllimport to call the function from the dll like below.

using System.Runtime.InteropServices;

namespace test            
{    
public partial class Form1 : Form                                                     
  {

      [DllImport("mtest", CharSet = CharSet.Ansi)]
        public extern static void e_path(string path);

        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("test");
            swe_set_ephe_path("E:\\Gan");
        }
    }
}

at the time of running the application I am getting the error as below:

An unhandled exception of type 'System.DllNotFoundException' occurred in test.exe

Additional information: Unable to load DLL 'mydll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Could any you please help me out to resolve this. If I run both the dll and the applicaition its working fine. But I need the dll functions to be called from my ASP pages so I need both the dll and application as 64 bit.

ADDITIONAL INFORMATION : when I checked the dll for dependency using dependency walker for 64-bit It shows that the Kernel32.dll and NTDLL.DLL and mydll.dll is x64.

please help me out with this.

Thanks in Advance,

on x64 platforms the SYSWOW64 directory contains files for 32bit applications. You will find the same differentiation in the registry, where SYSWOW64 contains entries for x32 applications. Greetings

Comment: The registry key containing 32bit entries is Wow6432Node and resides in //HKEY_LOCAL_MACHINE

问题在于您的dll依赖于其他某个dll,并且无法找到其他dll,因为它位于加载程序无法搜索它的某个路径上,或者该dll不是64位。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM