在64位计算机上使用32位dll

Nhu*_*ren 6 dll 64-bit 32bit-64bit

我有一个使用32位dll的旧项目.这在32位处理器上工作正常,但是当我在64位操作系统上安装相同的项目时,它不起作用.

有没有办法将32位dll转换为64位?是否有替代解决方案使我的32位DLL在64位操作系统中工作?

Jus*_*tin 6

你的32位dll应该可以在64位机器上正常工作,只要它被加载到32位进程中 - 尝试将32位dll加载到64位进程将失败.

如果您的项目是.Net(例如C#)应用程序,那么您应该能够在x86上定位程序集,以使您的32位DLL工作正常:

  • 在Visual Studio中右键单击您的项目,然后选择"属性"
  • 在"构建项目属性"选项卡上,确保"平台"目标下拉列表显示"x86"而不是"任何CPU"

如果你的平台目标是"任何CPU",那么你的项目通常会针对任何可用的平台,即64位操作系统上的x64 - 这将阻止你的32位dll被加载.

如果您的项目不是.Net程序集,那么执行上述操作所需的等效步骤将有所不同.

或者,您可以尝试获取64位版本的dll - 如果它是您生成的DLL,那么您需要自己将其迁移到64位.如果没有,那么您依赖于提供64位兼容版本的原始供应商.