Как мне вызвать функции из C++ DLL?C# интерфейс C++ DLL?
++ DLL C содержит такие функции, как это:
__declspec(dllexport) bool Setup() { return simulation.Setup(); }
C# программа делает это:
[DllImport("mydll.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool Setup();
C# программа падает со следующим сообщением, когда он пытается загрузить DLL (?) :
An unhandled exception of type 'System.BadImageFormatException' occurred in TestFrame.exe
Additional information: There was an attempt to load a file with a wrong format (exception from HRESULT: 0x8007000B)
The C++ DLL is a standard DLL (no MFC, no ATL).
64-разрядная сборка .NET пытается загрузить 32-разрядную нативную .dll? Наоборот? –
Google переводит на 'Была сделана попытка загрузить программу с неправильным форматом. (Исключение из HRESULT: 0x8007000B) ' – SLaks
Это на 64-битной ОС? Если приложение .NET скомпилировано как AnyCPU, а dll C++ - 32-разрядная, DLL не загружается. –