将目标Dot . net框架从4.5更改为2.0时的DLLImport问题

本文关键字:0时 问题 DLLImport Dot 目标 net 框架 | 更新日期: 2023-09-27 18:09:55

我想把我的程序编译成在XP和。net 2.0上运行。我将目标框架从4.5更改为2.0,并删除了"using System"。Linq"answers"using System.Threading. "

现在DLLImport没有加载,程序在调用时崩溃。错误提示为"System"。BadImageFormatException "

在框架降级之前,程序可以工作。

任何想法?

将目标Dot . net框架从4.5更改为2.0时的DLLImport问题

您需要检查本机dll的平台(x86或x64)。您可以使用DUMPBIN实用程序:

dumpbin /headers yournative.dll

检查machine报头(x86或x64)

然后你必须编译到x86或x64你的VS项目(你不能使用AnyCPU)。

您可以使用CORFLAGS实用程序检查托管程序集的平台:

corflags yourmanaged.exe

检查PE32BIT报头(PE32 &0:任意CPU, PE32;1: x86, PE32+ &0: x64)

两个平台必须匹配