构buildconfiguration:混合平台VS任何CPU
Visual Studio中不同的Build Configuration settings
什么区别,例如任何CPU,混合平台,WIN32等等 。
这里有一个链接可以帮助解释Visual Studio及其构build文件中的构buildconfiguration设置:
http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/
基本上这个设置说明了程序集能够在哪个平台上运行。 当selectAnyCPU时,生成的DLL被标记为能够在任何地方运行; 当selectx86时,生成的DLL将被标记为只能在32位系统上运行,并且不会在64位应用程序或进程中运行(但会在64位Windows中运行;等等)等等。
这只是在编译的DLL上设置标志 – 它根本不会改变编译过程的其他方面。
构buildconfiguration名称并不意味着太多 – 如果您在同一个解决scheme中使用C ++和C#项目(甚至如果您有移动项目,则更糟糕),它们会激增,因为各种types的项目使用不同的configuration名称,所以您结束与他们很多。
我们试图不断删除所有没有使用的configuration,但是当您添加一个新项目时,经常会遇到困难,不需要的configuration将被添加回解决scheme。
我的build议是决定你需要什么configuration(通过查看其中的实际设置),然后删除所有其他的东西。
正如其他平台已经解释。 (即X86为32位,x64为64位,“任何CPU”都可以在两者中运行)。 我将专注于Mixed Platform
以及如何从Any CPU
不同。
Any CPU
都处于项目级设置,在现实世界的解决scheme中,我们有一个解决scheme下的项目数量,他们是我的一些项目使用Any CPU
,但其他人使用x86
或x64
构build平台。
所以在解决scheme层面将自动selectMixed Platform
。 这表明在构build/重build解决scheme期间,每个项目都基于他们所select的平台进行构build。
当解决scheme中的所有项目都是相同的types(例如C#/ VB项目)时,解决schemeconfiguration将与项目configuration完全匹配。 一旦在具有不匹配的configuration/平台的解决scheme中拥有项目,Visual Studio将创build解决scheme级configuration“混合平台/debugging”,并可能会创build“混合平台/发布”。 这些configuration只是映射到单个项目级configuration。
例如,如果您有C#项目和C ++项目,则通常“混合平台/debugging”将映射到C#项目的“任何CPU /debugging”和C ++项目的“Win32 / Debug”。