2014-01-31 2 views
0

Im пытается вызвать функцию C из C#, но im получает исключение BadImageFormatException.pinvoke c function - System.BadImageFormatException

Вот заголовок функции C:

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

Вот как им вызов из C#

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

Что случилось здесь.

+1

Попробуйте скомпилировать до 64 или 32 бит явно. –

+0

Да, это было. Благодарю. Добавьте его в качестве ответа. – CathalMF

+0

Почему голос? – CathalMF

ответ

0

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

project/properties/build/Platform target 
0

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