构建配置:混合平台VS任何CPU

时间:2011-04-18 12:24:58

标签: visual-studio msbuild buildconfiguration

不同Build Configuration settings之间有什么区别,例如: Visual Studio中的任何CPU,混合平台,WIN32等

4 个答案:

答案 0 :(得分:38)

这是一个链接,有助于解释Visual Studio及其构建文件中的构建配置设置:

http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

基本上,该设置说明了程序集能够运行的平台。选择AnyCPU时,生成的DLL被标记为能够在任何地方运行;当选择x86时,生成的DLL被标记为只能在32位系统上运行,并且不能在64位应用程序或进程中运行(但将在64位Windows中运行;)依此类推。

这只是在已编译的DLL上设置标志 - 它根本不会改变编译过程的其他方面。

答案 1 :(得分:21)

正如其他平台已经解释过的那样。 (即X86代表32位,x64代表64位,“任何CPU”都可以在两者中运行)。我会专注于Mixed Platform以及它与Any CPU的区别。

Any CPU处于项目级别设置,在现实世界的解决方案中,我们在一个解决方案下拥有多个项目,我们的某些项目可能使用Any CPU,但其他人使用x86x64构建平台。

因此,在解决方案级别,将自动选择Mixed Platform。这表明在构建/重建解决方案期间,每个项目都基于其选定的平台构建。

答案 2 :(得分:16)

构建配置名称并不是很有意义 - 如果你在同一个解决方案中有C ++和C#项目,它们会激增(如果你有移动项目,那么它们会更糟),因为各种类型的项目使用不同的配置名称,所以你最终得到了很多。

我们尝试不断删除我们未使用的所有配置,但有时候在添加新项目时会很常见,不需要的配置会被添加回解决方案。

我的建议是决定你需要什么配置(通过查看其中的实际设置),然后删除其他所有配置。

答案 3 :(得分:9)

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

  

当解决方案中的所有项目属于同一类型时(例如   C#/ VB项目)解决方案配置将完全匹配   项目配置。一旦你有一个解决方案的项目   Visual Studio创建了不匹配的配置/平台   解决方案级别配置"混合平台/调试"可能   "混合平台/发布"。这些配置只是映射   单个项目级别配置。

     

例如,如果您有C#项目和C ++项目,通常   "混合平台/调试"将映射到"任何CPU /调试"对于C#项目   和" Win32 / Debug"对于C ++项目。