如果应用程序中引用的某些程序集仅使用32位(而不是AnyMachine)设置进行编译,那么将加载哪个版本的.NET(64位与32位)?如果至少有一个引用的程序集被编译为32位,那么该应用程序仍将以64位运行,还是会被强制为32位运行?该应用程序正在运行.NET 3.5。
答案 0 :(得分:5)
应用程序将被强制以32位
运行答案 1 :(得分:4)
位是由EXE上的平台目标设置决定的。没有任何机制可以确保引用仅32位模块的EXE也将被强制在32位模式下运行。程序集将无法使用BadImageFormatException加载。
如果你的程序依赖于这样的DLL,那么你必须强制你的EXE项目上的平台目标从AnyCPU强制到x86。