将目标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 "
在框架降级之前,程序可以工作。
任何想法?
您需要检查本机dll的平台(x86或x64)。您可以使用DUMPBIN实用程序:
dumpbin /headers yournative.dll
检查machine报头(x86或x64)
然后你必须编译到x86或x64你的VS项目(你不能使用AnyCPU)。
您可以使用CORFLAGS实用程序检查托管程序集的平台:
corflags yourmanaged.exe
检查PE和32BIT报头(PE32 &0:任意CPU, PE32;1: x86, PE32+ &0: x64)
两个平台必须匹配