构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 ,但其他人使用x86x64构build平台。

所以在解决scheme层面将自动selectMixed Platform 。 这表明在构build/重build解决scheme期间,每个项目都基于他们所select的平台进行构build。

来自:这篇文章。 https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

当解决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”。