标签: c# dllimport
在C#应用程序(Visual Studio 2008)中,我使用DllImport调用win32 dll。在Windows XP中一切正常。但是当我在Windows 7中使用相同的exe和dll时,win32 dll无法加载。我是否需要编写任何额外的代码来从Windows 7调用win32 dll?
答案 0 :(得分:8)
在构建C#程序之前,请确保在Visual Studio Configuration Manager中选择“x86”而不是“任何CPU”作为平台。如果选择了任何CPU,则您的C#应用程序在Windows 7中作为64位进程运行,并尝试将32位win32 dll加载到64位进程,这将失败,如解释here和here
答案 1 :(得分:2)
你的Windows 7是64位吗?
你的.NET exe被标记为AnyCPU吗?
如果答案是肯定的,那么你需要通过Visual Studio中的配置管理器将.exe标记为x86。