Tengo una biblioteca dll con código API C ++ no administrado que necesito usar en mi aplicación .NET 4.0. Pero cada método que intento cargar mi dll me sale un error:
No se puede cargar la DLL 'MyOwn.dll': no se pudo encontrar el módulo especificado. (Excepción de HRESULT: 0x8007007E)
He leído y probado varias soluciones que he encontrado en Internet. Nada funciona..
He intentado utilizar los siguientes métodos:
[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);
Cuando intenté seguir este artículo y cuando ejecuto este ejemplo (del código descargado) se ejecuta sin problemas (el dll utilizado está en la carpeta bin / debug)
He copiado mi dll (junto con todos los archivos de los que depende en mi carpeta bin).
También probé este enfoque pero obtuve el mismo error:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
¿Alguna sugerencia?