我有一个程序集,Utils,它设置为“任何 CPU”,我有一个托管 EXE,它也设置为“任何 CPU”。该 exe 使用我的 Utils 程序集。
我的 Utils 程序集必须加载一个非托管的、非 com 的 32 位 DLL 并调用一些函数。
我每次都收到异常“尝试加载格式不正确的程序。”。
有什么方法可以让我的 EXE 和程序集在 64 位模式下运行,但仍然加载 32 位 DLL 以进行一些简单的函数调用?
我知道如果我在 32 位模式下构建我的 EXE,那么它将工作,但我的 Utils 程序集将被 WCF Web 服务和其他可能在 64 位模式下运行的程序使用,并且它仍然需要调用 32 位 dll。
有什么办法吗?我试过使用 LoadLibrary,它在从 64 位代码调用时只返回一个 0 指针,而 DllImport 给了我一个异常。
谢谢您的帮助。