【发布时间】:2011-03-03 11:49:20
【问题描述】:
我遇到了问题,从昨天开始我一直在尝试解决它,但没有成功。 我有一个 32 位 Delphi DLL,我想将它导入到 .NET WIN 应用程序中。此应用程序必须在 ANY CPU 模式下构建。当然,会抛出异常 BadImageFormatException,这意味着 64 位应用程序无法加载 x86 DLL。 我四处搜索并找到了一个解决方案,它说我必须做包装,但对我来说并不清楚。谁能告诉我如何解决这个问题,有什么方法可以将 32 位 Delphi DLL 导入到任何 CPU 架构(64 位、32 位)或其他解决方案下构建的程序中?
【问题讨论】:
-
为什么不将 .NET 应用程序编译为 x86?
-
为什么它必须被编译为任何 CPU? 32 位应用程序将在 64 位操作系统上运行。
-
@OregonGhost 因为现在是 21 世纪。
-
@sproketboy:21 世纪的现实是,您无法在 64 位应用程序中加载 32 位 DLL,并且无论何时需要这样的 DLL(这几乎总是我工作的地方) ,由于硬件访问或通信要求),您无法编译为 64 位。在几乎所有情况下,您实际上并不需要 64 位。我不认为“现在是 21 世纪”是一个很好的理由;)
-
@OregonGhost 我们的 Java 应用程序可以充分利用 64 位,甚至无需重新编译任何东西。
标签: c# .net delphi 32bit-64bit