一、Any CPU平台下
编译出来的exe(可执行文件)或dll(动态链接库)是兼容的,取决于当前的操作系统,若操作系统是32位的,则编译出来的程序会以32位的软件模式运行,而在64位操作系统下则会以64位的软件模式运行。
二、x86平台下
强制生成的软件为32位软件,不管操作系统是32位还是64位都是以32位模式运行。
三、x64平台下
与x86类似,强制生成为64位软件,只能在64位模式运行。
五、x86、x64、Any CPU选择的注意事项
1、若主程序的文件是x86平台下编译的,而它所依赖的一个项目(或动态链接库)是由x64位平台编译出来的,则会提示“未能加载文件或程序集…或它的某一个依赖性。试图加载格式不正确的程序。”之类的错误。这是因为32位程序不能加载64位的dll,更不能调用其中的类、方法和对象等。
2、若主程序是由x64平台编译出来的,而它所依赖的一个项目(或动态链接库)是由x86位平台编译出来的呢?也会报错!
3、若dll由Any CPU编译的,那么这个dll就可以被32位和64位的主程序调用
文章转载自:vs项目属性中目标平台x86,x64,any cpu的区别 http://www.studyofnet.com/news/1263.html