J'ai une bibliothèque de dll contenant un code API C++ non géré que je dois utiliser dans mon application .NET 4.0. Mais chaque fois que j'essaie de charger ma dll, j'obtiens une erreur :
Impossible de charger la DLL 'MyOwn.dll' : Le module spécifié n'a pas pu être trouvé. (Exception de HRESULT : 0x8007007E)
J'ai lu et essayé plusieurs solutions que j'ai trouvées sur l'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 lorsque j'exécute cet exemple (à partir du code téléchargé), il fonctionne sans problème (la dll utilisée est dans le dossier bin/debug).
J'ai copié ma dll (ainsi que tous les fichiers dont elle dépend dans mon dossier bin).
J'ai également essayé cette approche mais j'ai obtenu 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);
Des suggestions ?