Visual Studio 中的任何 CPU、混合平台、WIN32 等Build Configuration settings
不同之间有什么区别。
4 回答
正如已经解释过的其他平台(即 X86 用于 32 位,x64 仅用于 64 位,并且“任何 CPU”都可以在两者中运行)我将集中讨论Mixed Platform
这与Any CPU
.
这Any CPU
是在项目级别设置,而在现实世界的解决方案中,我们在一个解决方案下有多个项目,并且我的一些项目有可能使用Any CPU
但其他项目使用x86
或x64
构建平台。
所以在解决方案级别Mixed Platform
会自动被选中。这表明在构建/重建解决方案期间,每个项目都基于其选定的平台进行构建。
以下链接有助于解释 Visual Studio 及其构建文件中的构建配置设置:
基本上,该设置说明了程序集能够在哪个平台上运行。选择AnyCPU后,将结果DLL标记为能够在任何地方运行;when x86 is selected, the resultant DLL is marked as only being able to run on 32-bit systems and will not run in 64-bit applications or processes (but will run in 64-bit Windows;) and so on and so forth.
这只是在已编译的 DLL 上设置标志 - 它根本不会改变编译过程的其他方面。
构建配置名称意义不大 - 如果您在同一个解决方案中拥有 C++ 和 C# 项目,它们会激增(如果您也有移动项目则更糟),因为各种类型的项目使用不同的配置名称,所以您结束有很多。
我们会尝试不断删除我们不使用的所有配置,但这有时是一项艰巨的工作,当您添加新项目时,不需要的配置将被添加回解决方案。
我的建议是确定您需要哪些配置(通过查看其中的实际设置),然后删除其他所有内容。
当解决方案中的所有项目都属于同一类型(例如 C#/VB 项目)时,解决方案配置将与项目配置完全匹配。一旦解决方案中的项目具有不匹配的配置/平台,Visual Studio 就会创建解决方案级别配置“混合平台/调试”和可能的“混合平台/发布”。这些配置只是映射到单个项目级别的配置。
例如,如果您有一个 C# 项目和一个 C++ 项目,通常“Mixed Platforms/Debug”将映射到 C# 项目的“Any CPU/Debug”和 C++ 项目的“Win32/Debug”。