Ich habe eine DLL-Bibliothek mit nicht verwaltetem C ++ - API-Code, die ich in meiner .NET 4.0-Anwendung verwenden muss. Aber bei jeder Methode, mit der ich versuche, meine DLL zu laden, wird eine Fehlermeldung angezeigt:
DLL 'MyOwn.dll' kann nicht geladen werden: Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E)
Ich habe mehrere Lösungen gelesen und ausprobiert, die ich im Internet gefunden habe. Nichts funktioniert..
Ich habe versucht, folgende Methoden zu verwenden:
[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);
Wenn ich versucht habe, diesem Artikel zu folgen, und wenn ich dieses Beispiel (aus dem heruntergeladenen Code) ausführe, läuft es ohne Probleme (die verwendete DLL befindet sich im Ordner bin / debug).
Ich habe meine DLL kopiert (zusammen mit allen Dateien, von denen es abhängt, in meinen bin-Ordner).
Ich habe auch diesen Ansatz ausprobiert, aber den gleichen Fehler erhalten:
[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern int MyproIni(string DBname, string DBuser_pass,
string WorkDirectory, ref StringBuilder ErrorMessage);
Irgendwelche Vorschläge?