问题描述
需动态生成一小更新工具,此工具需调用原32位的dll(无源代码,无法重新编译64位版本)。动态编译小工具在xp下运行良好,但用win764位生成的工具,在win7和xp下均无法运行,出现错误:“System.BadImageFormatException:未能加载文件或程序集”。怀疑是因为编译时,未指定目标平台的原因,请教如何在动态编译时,指定目标平台?
解决方案
解决方案二:
同问,帮顶~~
解决方案三:
将目标平台改为AnyCPU应该是可以的。
解决方案四:
是无法编译的dll有两个版本我觉得是否可以这样操作。两个dll改名,然后分别用不同的对象名引用。当然,调用前需要判断当前系统是32还是64
解决方案五:
64位的不能在32位机器运行,要么你动态根据系统选择不同的dll,要么使用匹配的系统
解决方案六:
若是可以的话,写个32位的EXE调用该32位的dll,你的程序调用EXE就没有冲突了
解决方案七:
引用2楼wangnaisheng的回复:
将目标平台改为AnyCPU应该是可以的。
我认为目标平台需要改为x86,强制为32位程序才可以调用32位的dll
时间: 2024-11-08 19:17:14