Wie löse ich die .NET CF-Ausnahme "PInvoke DLL kann nicht gefunden werden"?

Das gilt für alle C # -Gurus. Ich habe schon seit einiger Zeit mit dem Kopf geschlagen und alle möglichen Ratschläge im Internet ohne Erfolg ausprobiert. Die Aktion wird in Windows Mobile 5.0 ausgeführt.

Ich habe eine DLL namens MyDll.dll. In der MyDll.h habe ich:

extern "C" __declspec(dllexport) int MyDllFunction(int one, int two);

Die Definition von MyDllFunction in MyDll.cpp ist:

int MyDllFunction(int one, int two)
{
    return one + two;
}

Die C # -Klasse enthält die folgende Deklaration:

[DllImport("MyDll.dll")]
extern public static int MyDllFunction(int one, int two);

In der gleichen Klasse rufe ich MyDllFunction folgendermaßen auf:

int res = MyDllFunction(10, 10);

Und hier gibt mir das verdammte Ding immer wieder "PInvoke DLL 'MyDll.dll' kann nicht gefunden werden". Ich habe überprüft, ob ich PInvoke bei Systemaufrufen ausführen kann, z. B. "GetAsyncKeyState (1)", deklariert als:

    [DllImport("coredll.dll")]
    protected static extern short GetAsyncKeyState(int vKey);

The MyDll.dll ist im gleichen Ordner wie die ausführbare Datei, und ich habe auch versucht, es in den Ordner / Windows ohne Änderungen oder Erfolg zu setzen. Alle Ratschläge oder Lösungen werden sehr geschätzt.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage