使用32位OCX的.NET库在64位win7上失败

时间:2011-11-09 12:48:51

标签: c# winforms com 64-bit

我在使用x86目标的32位平台上构建的.NET 4项目中使用了32位OCX。当我在64位Windows 7平台上运行时,具有32位OCX的DLL会生成错误的图像异常故障。其余的.NET库似乎运行良好。

有没有人对我需要做些什么才能做到这一点。这个问题是否有在线示例?

3 个答案:

答案 0 :(得分:1)

在项目属性中,将平台目标设置为x86: enter image description here

答案 1 :(得分:0)

尝试使用CorFlags.exe强制程序集以32位模式运行:

corflags.exe  "c:\your executable.exe" /32BIT+ /Force

答案 2 :(得分:0)

64位进程只能加载64位库。这条规则也不例外。在这种情况下,标准Microsoft建议使用某种进程间通信。具体来说,COM exe服务器可以在这种情况下工作。

因此,您需要以32位运行应用程序,或者以64位运行进程内COM服务器,或者使用进程间通信。