Eu tenho uma biblioteca dll com código de API C ++ não gerenciado que preciso usar em meu aplicativo .NET 4.0. Mas todo método que tento carregar minha dll, recebo um erro:
Não foi possível carregar a DLL 'MyOwn.dll': O módulo especificado não foi encontrado. (Exceção de HRESULT: 0x8007007E)
Eu li e tentei várias soluções que encontrei na internet. Nada funciona..
Tentei usar os seguintes 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);
Quando tentei seguir este artigo e quando executo este exemplo (a partir do código baixado), ele funciona sem problemas (a dll usada está na pasta bin / debug)
Copiei minha dll (junto com todos os arquivos dos quais ela depende para minha pasta bin).
Eu também tentei essa abordagem, mas obtive o mesmo erro:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
Alguma sugestão?