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

Roh*_*hit 87 msbuild visual-studio buildconfiguration

有什么不同的区别Build Configuration settings任何CPU,混合平台,WIN32等在Visual Studio.

por*_*san 40

这是一个链接,有助于解释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上设置标志 - 它根本不会改变编译过程的其他方面.

  • 但这似乎并不能解释"混合平台". (41认同)
  • 链接http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/已经死亡. (7认同)
  • @Menace我的理解(来自丢失的参考)是当你打开一个所有项目都没有相同配置的解决方案时,Visual Studio会显示/选择**解决方案**配置为混合平台.(如果我能找到原始参考文献,我会用引文修改它.) (2认同)

Neh*_*ain 29

正如其他平台已经解释过 (即X86代表32位,x64代表64位,"任何CPU"都可以在两者中运行).我会集中注意力,Mixed Platform以及与众不同之处Any CPU.

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

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


Wil*_*ean 16

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

我们试图继续删除我们没有使用的所有配置,但有时候当您添加新项目时,这种情况很困难,不需要的配置将被添加回解决方案.

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


Gil*_*ton 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++项目,通常"混合平台/调试"将映射到C#项目的"任何CPU /调试"和C++项目的"Win32/Debug".