Как вызвать win32 dll в windows 7 - PullRequest
3 голосов
/ 15 ноября 2011

Из приложения C # (Visual Studio 2008) я вызываю win32 dll, используя DllImport. Все отлично работает в Windows XP. Однако, когда я использую те же exe и dll в Windows 7, win32 dll не загружается. Нужно ли мне писать какой-либо дополнительный код для вызова Win32 DLL из Windows 7?

Ответы [ 2 ]

8 голосов
/ 15 ноября 2011

Перед сборкой программы на C # убедитесь, что в Visual Studio Configuration Manager вы выбрали «x86», а не «любой процессор» в качестве платформы. Если выбран какой-либо ЦП, ваше приложение C # запускается как 64-битный процесс в Windows 7 и пытается загрузить 32-битную DLL win32 в 64-битный процесс, который завершится с ошибкой, как объясняется здесь и здесь .

2 голосов
/ 15 ноября 2011

Является ли ваш Windows 7 64-битным?

. Вы отмечаете .NET exe как AnyCPU?

Если ответ «да» на вышеупомянутый вопрос, вам нужно пометить .exe как x86 черезДиспетчер конфигурации в Visual Studio.

...