不同Build Configuration settings
之间有什么区别,例如: Visual Studio中的任何CPU,混合平台,WIN32等。
答案 0 :(得分:38)
这是一个链接,有助于解释Visual Studio及其构建文件中的构建配置设置:
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
,但其他人使用x86
或x64
构建平台。
因此,在解决方案级别,将自动选择Mixed Platform
。这表明在构建/重建解决方案期间,每个项目都基于其选定的平台构建。
答案 2 :(得分:16)
构建配置名称并不是很有意义 - 如果你在同一个解决方案中有C ++和C#项目,它们会激增(如果你有移动项目,那么它们会更糟),因为各种类型的项目使用不同的配置名称,所以你最终得到了很多。
我们尝试不断删除我们未使用的所有配置,但有时候在添加新项目时会很常见,不需要的配置会被添加回解决方案。
我的建议是决定你需要什么配置(通过查看其中的实际设置),然后删除其他所有配置。
答案 3 :(得分:9)
当解决方案中的所有项目属于同一类型时(例如 C#/ VB项目)解决方案配置将完全匹配 项目配置。一旦你有一个解决方案的项目 Visual Studio创建了不匹配的配置/平台 解决方案级别配置"混合平台/调试"可能 "混合平台/发布"。这些配置只是映射 单个项目级别配置。
例如,如果您有C#项目和C ++项目,通常 "混合平台/调试"将映射到"任何CPU /调试"对于C#项目 和" Win32 / Debug"对于C ++项目。