【问题标题】:Build Configuration: Mixed Platform VS Any CPU构建配置:混合平台 VS 任何 CPU
【发布时间】:2011-08-07 20:26:55
【问题描述】:

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

【问题讨论】:

    标签: visual-studio msbuild buildconfiguration


    【解决方案1】:

    正如已经解释过的其他平台(即 X86 用于 32 位,x64 仅用于 64 位,并且“任何 CPU”都可以在两者中运行)我将专注于 Mixed Platform 以及它与 Any CPU 的不同之处。

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

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

    【讨论】:

      【解决方案2】:

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

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

      基本上,该设置说明程序集能够在哪个平台上运行。选择AnyCPU时,将标记为Orform的DLL以便在任何地方运行;选择x86时,标记为能够在32位系统上运行的结果,并且不会在64位应用程序或进程中运行(但将在64位窗口中运行;)等等。

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

      【讨论】:

      • 另外,查看解决方案文件交互的链接:social.msdn.microsoft.com/forums/vstudio/en-US/…
      • 这似乎无法解释“混合平台”。
      • @Menace 我的理解(来自丢失的参考)是,当您打开所有项目都没有相同配置的解决方案时,Visual Studio 会显示/选择 解决方案配置为混合平台。 (如果我能找到原始参考,我会用引用来修改。)
      【解决方案3】:

      来自:这篇文章。 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”。

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-02
          • 1970-01-01
          • 2017-12-13
          • 2016-03-11
          • 1970-01-01
          • 2010-09-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多