J'ai une bibliothèque de dll avec un code API C ++ non managé que je dois utiliser dans mon application .NET 4.0. Mais chaque méthode que j'essaie de charger ma dll j'obtiens une erreur:
Impossible de charger la DLL «MyOwn.dll»: le module spécifié est introuvable. (Exception de HRESULT: 0x8007007E)
J'ai lu et essayé plusieurs solutions que j'ai trouvées sur Internet. Rien ne fonctionne..
J'ai essayé d'utiliser les méthodes suivantes:
[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);
Quand j'ai essayé de suivre cet article et que j'exécute cet exemple (à partir du code téléchargé), il fonctionne sans problème (la dll utilisée se trouve dans le dossier bin / debug)
J'ai copié ma dll (avec tous les fichiers dont elle dépend dans mon dossier bin).
J'ai également essayé cette approche mais j'ai eu la même erreur:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
Aucune suggestion?