Visual Studio中不同的构建配置设置
,例如Any CPU, Mixed Platform, WIN32等有何区别?
Visual Studio中不同的构建配置设置
,例如Any CPU, Mixed Platform, WIN32等有何区别?
由于其他平台已经解释过(即32位的X86,64位的x64,以及“Any CPU”可以在两者之间运行),因此我将专注于“Mixed Platform”以及它与“Any CPU”的区别。
“Any CPU”是项目级别的设置,而在实际解决方案中,我们有多个项目位于一个解决方案下,并且有可能我的一些项目使用“Any CPU”,但其他项目使用“x86”或“x64”构建平台。
因此,在解决方案级别上自动选择“Mixed Platform”。这表示在生成/重新生成解决方案期间,每个项目都会根据其所选的平台进行构建。
以下是有关Visual Studio及其构建文件中的构建配置设置的解释链接:
基本上,此设置确定了程序集可以在哪些平台上运行。选择AnyCPU时,生成的DLL被标记为可以在任何地方运行;选择x86时,生成的DLL仅被标记为只能在32位系统上运行,并且无法在64位应用程序或进程中运行(但可以在64位Windows上运行)等等。
这只是对编译后的DLL进行标志设置,不会改变编译过程中的其他方面。
建造配置名称并不意味着太多 - 如果您在同一个解决方案中有C++和C#项目(如果还有移动项目,则更糟),因为各种类型的项目使用不同的配置名称,所以您最终会拥有许多这些配置。
我们尝试保持删除我们没有使用的所有配置,但有时这很困难,因为当您添加新项目时,不需要的配置将重新添加到解决方案中。
我的建议是根据其中的实际设置决定您需要哪些配置,然后删除其他所有内容。
当解决方案中的所有项目类型相同时(如C#/VB项目),解决方案配置将与项目配置完全匹配。一旦您的解决方案中有了具有不匹配配置/平台的项目,Visual Studio就会创建解决方案级别的“Mixed Platforms/Debug”和可能的“Mixed Platforms/Release”配置。这些配置只是映射到各个项目级别配置。
例如,如果您有一个C#项目和一个C++项目,则通常“Mixed Platforms/Debug”将映射到C#项目的“Any CPU/Debug”,而C++项目将映射为“Win32/Debug”。