Ho una libreria dll con codice API C ++ non gestito che devo utilizzare nella mia applicazione .NET 4.0. Ma ogni metodo che provo a caricare il mio dll ottengo un errore:
Impossibile caricare la DLL "MyOwn.dll": non è stato possibile trovare il modulo specificato. (Eccezione da HRESULT: 0x8007007E)
Ho letto e provato diverse soluzioni che ho trovato su Internet. Niente funziona ..
Ho provato a utilizzare i seguenti metodi:
[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 ho provato a seguire questo articolo e quando eseguo questo esempio (dal codice scaricato) viene eseguito senza problemi (la dll utilizzata è nella cartella bin / debug)
Ho copiato la mia dll (insieme a tutti i file da cui dipende nella mia cartella bin).
Ho anche provato questo approccio ma ho ricevuto lo stesso errore:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
Eventuali suggerimenti?