У меня есть приложение на C #, которое использует DLL, так как мне нужен C ++ для доступа к некоторым неуправляемым функциям API user32 (для этого я не могу использовать PInvoke). Я компилирую и приложение, и DLL для архитектуры x86, и все отлично работает на 32-битной Windows 7. Теперь проблема заключается в том, что в 64-разрядной версии Windows 7 происходит сбой приложения, когда я пытаюсь использовать функцию, основанную на DLL (но все остальное работает нормально).
Я подозреваю, что это проблема 32/64 битов, поэтому я попытался перекомпилировать DLL для архитектур x64, и теперь я могу выбрать во время выполнения, какую DLL загружать между x86 и x64. Но все равно происходит сбой, когда я пытаюсь использовать функцию, основанную на DLL (что имеет смысл, когда я пытаюсь загрузить 64-битную DLL в 32-битную программу). Я еще не пытался скомпилировать приложение и DLL для x64. Я подозреваю, что это сработает, однако это потребует от меня двух разных инсталляторов, и я не хочу туда идти. Любая подсказка?