Неверный формат Exception при попытке вызвать C ++ dll из C #

Я использую C # WPF.
У меня есть C ++ test dll следующим образом:
.час:

extern "C" __delspec(dllexport) void TestMethod();

.файл cpp:

extern "C"{
__delspec(dllexport) void TestMethod()
{
MessageBox(0, L"Test", L"Test", MB_ICONINFORMATION);
}
}

Код C #:

[DllImport("DllTest.dll", EntryPoint = "TestMethod")]
public static extern void TestMethod();

И когда я пытаюсь позвонить в TestMethod, я получил исключение:

an attempt was made to load a program with an incorrect format

Что я делаю не так?
Спасибо!

2

Решение

Кажется, это 32bit/ 64 bit проблема. Похоже, ваша вызывающая сборка C ++ dll и C # создана для разных целей платформы. Попробуйте скомпилировать оба для одной и той же платформы (x86 или x64) и затем вызвать функцию.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]