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

在64位计算机上使用32位dll,dll,64-bit,32bit-64bit,Dll,64 Bit,32bit 64bit,我有一个使用32位dll的旧项目。这在32位处理器上运行良好,但是当我在64位操作系统上安装相同的项目时,它不起作用 有没有办法将32位dll转换为64位?是否有其他解决方案可以使我的32位dll在64位操作系统中工作?只要将32位dll加载到32位进程中,您的32位dll在64位机器上就可以正常工作-尝试将32位dll加载到64位进程将失败 如果您的项目是.Net例如C应用程序,那么您应该能够将程序集的目标设置为x86,以使32位dll正常工作: 在VisualStudio中右键单击项目并选择

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


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

只要将32位dll加载到32位进程中,您的32位dll在64位机器上就可以正常工作-尝试将32位dll加载到64位进程将失败

如果您的项目是.Net例如C应用程序,那么您应该能够将程序集的目标设置为x86,以使32位dll正常工作:

在VisualStudio中右键单击项目并选择属性 在构建项目属性选项卡上,确保平台目标下拉列表读取x86而不是任何CPU 如果您的平台目标是任何CPU,那么您的项目通常将针对任何可用的平台,即64位操作系统上的x64-这将阻止加载32位dll

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


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

您现有的项目内置了什么?这是一个.Net解决方案吗?