我有一个使用32位dll的旧项目。这在32位处理器上工作正常,但是当我在64位操作系统上安装相同的项目时,它不起作用。
有没有办法将32位dll转换为64位?是否有替代解决方案使我的32位DLL在64位操作系统中工作?
答案 0 :(得分:5)
只要将32位dll加载到32位进程中,32位dll就可以正常工作 - 尝试将32位dll加载到64位进程中将会失败。
如果您的项目是.Net(例如C#)应用程序,那么您应该能够在x86上定位程序集,以使您的32位DLL工作正确:
如果你的平台目标是“任何CPU”,那么你的项目通常会针对任何可用的平台,即64位操作系统上的x64 - 这将阻止你的32位dll被加载。
如果您的项目不是.Net程序集,那么执行上述操作所需的等效步骤将会有所不同。
或者您可以尝试获取64位版本的dll - 如果它是您生成的dll,那么您需要自己将其迁移到64位。如果没有,那么您依赖于提供64位兼容版本的原始供应商。