jermineM
asked on
VB.NET app calling C++ dll, DLLNotFoundException
I have here C++ dlls that has been compiled as a 32bit dll.
It is called by .NET windows service, compiled as 32bit as well.
Provided below is a sample code to to use the methods of the C++dll
<DllImport("mytest.dll") , entrypoint:="mytestmethod1 ")>
public shared function mytestmethod1() as string
....
end function
This works in 32 bit.
My problem is this - to make same code run in 64bit.
The C++ dll and the .NET windows service are now compiled as 64bit.
When i start to run the .NET windows service, I get an error as soon as I hit a code calling the C++ method - a DllNotFoundException exception. so nonetheless, i added try catch statements for DllNotFoundException.
Im still getting this error but Im dead sure i have the c++ dll in the .NET windows service bin directory.
please help.
It is called by .NET windows service, compiled as 32bit as well.
Provided below is a sample code to to use the methods of the C++dll
<DllImport("mytest.dll") , entrypoint:="mytestmethod1
public shared function mytestmethod1() as string
....
end function
This works in 32 bit.
My problem is this - to make same code run in 64bit.
The C++ dll and the .NET windows service are now compiled as 64bit.
When i start to run the .NET windows service, I get an error as soon as I hit a code calling the C++ method - a DllNotFoundException exception. so nonetheless, i added try catch statements for DllNotFoundException.
Im still getting this error but Im dead sure i have the c++ dll in the .NET windows service bin directory.
please help.
Give the 64 bit version a different name to the 32 bit version - modify your Dllimport code - does it still fail with the dllnotfoundexception?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Nope - it was a long shot.
ASKER
thanks for the suggestion though :)