96

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

4

4 回答 4

48

正如已经解释过的其他平台(即 X86 用于 32 位,x64 仅用于 64 位,并且“任何 CPU”都可以在两者中运行)我将集中讨论Mixed Platform这与Any CPU.

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

所以在解决方案级别Mixed Platform会自动被选中。这表明在构建/重建解决方案期间,每个项目都基于其选定的平台进行构建。

于 2016-08-30T13:43:09.100 回答
44

以下链接有助于解释 Visual Studio 及其构建文件中的构建配置设置:

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

基本上,该设置说明了程序集能够在哪个平台上运行。选择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 上设置标志 - 它根本不会改变编译过程的其他方面。

于 2011-04-18T16:42:47.503 回答
17

构建配置名称意义不大 - 如果您在同一个解决方案中拥有 C++ 和 C# 项目,它们会激增(如果您也有移动项目则更糟),因为各种类型的项目使用不同的配置名称,所以您结束有很多。

我们会尝试不断删除我们不使用的所有配置,但这有时是一项艰巨的工作,当您添加新项目时,不需要的配置将被添加回解决方案。

我的建议是确定您需要哪些配置(通过查看其中的实际设置),然后删除其他所有内容。

于 2011-04-18T12:30:35.377 回答
11

来自:这篇文章。 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++ 项目,通常“Mixed Platforms/Debug”将映射到 C# 项目的“Any CPU/Debug”和 C++ 项目的“Win32/Debug”。

于 2015-10-08T14:24:26.483 回答