【发布时间】:2013-09-14 11:39:26
【问题描述】:
我们有一个旧的第 3 方组件,它是一个 32 位本机 dll。在我们基于 COM 的应用程序中,我们通过 Windows API 链接它。现在,我们计划将我们的应用程序升级到 .Net 并在 64 位系统上运行。我的问题:我们还能通过 Windows API 将旧的 32 位原生 dll 链接到我们的 64 位 .net 应用程序吗?如果没有,关于如何让它工作的任何想法?
【问题讨论】:
-
32 位本机代码在 64 位机器上运行良好。您必须将 EXE 项目的平台目标设置保持在 x86。
-
32 位代码仅在安装了 WOW64 模拟器的情况下才能在 64 位机器上运行。从 Win2K8 R2 开始,WOW64 现在是可选组件,因此可能会安装也可能不会安装。
-
没有头脑正常的人会忽略 WOW64
-
他们的想法不正确非常准确地描述了数量庞大的客户。作为一个可选组件,您不能简单地忽略这种可能性。
-
不需要运行 32 位应用程序的人除外。 WOW64 是可选的,这是有原因的。除非人们真正使用它,否则微软不会浪费时间制作仅 64 位的 SKU。
标签: .net winapi 32bit-64bit