У меня есть приложение на C # (.NET 3.5, VS2005 Professional), в котором используется неуправляемая 32-битная библиотека, написанная на C / C ++. API, который я использую, выглядит следующим образом:
void * Initialize (int x);
voic GetData (void *);
И это работает, когда я запускаю его на Windows XP 32bit, но на Windows XP64bit выдает исключение:
Необработанное исключение: System.Reflection.TargetInvocationException: исключение было сгенерировано целью вызова. ---> System.BadImageFormatException: была предпринята попытка загрузить программу с неверным форматом. (Исключение из HRESULT: 0x8007000B)
в Aktuelizator.CommonLibrary.InitializeRingBuffer (Int32 dim)
в Aktuelizator.AktuelizatorWService.AktuelizatorWS..ctor ()
Эти неуправляемые библиотеки DLL работают под 64-битной XP при вызове из 32-битного неуправляемого приложения, написанного на C / C ++.
У кого-нибудь есть идеи?