функция pinvoke c - System.BadImageFormatException

0

Я пытаюсь вызвать функцию C из С#, но im получает исключение BadImageFormatException.

Здесь находится заголовок функции C:

extern "C"
{
    __declspec(dllexport) bool validate(char key[]);
}

Вот как им называть его с С#

[DllImport("MyDll.dll")]
static extern bool validate(char[] key);

Что здесь не так.

  • 1
    Попробуйте скомпилировать до 64 или 32 бит явно.
  • 0
    Да это было это. Благодарю. Добавьте это как ответ.
Показать ещё 1 комментарий
Теги:
pinvoke
dllimport

2 ответа

0
Лучший ответ

При вызове собственных методов вы должны скомпилировать свой код С# на 64 или 32 бит.

 project/properties/build/Platform target
0

Используйте Dependency Walker, чтобы проверить, правильно ли экспортирована функция проверки подлинности из DLL. Возможно, вы не обновили файл.def проекта DLL.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню