2

Configuration Manager(或工具栏中的相应框)具有x64 Release并且 Properties Build具有x86 Debug(不带' Active')并且单击 F5 时 - VS 跟随Configuration Manager。那么属性构建是为了什么?

编辑

这总是决定动作:

在此处输入图像描述

即使未设置为 'Active' ,这也不会发生:

在此处输入图像描述

使用以下代码检查:

        public Form1()
        {
            InitializeComponent();
#if (DEBUG)
            Text = "DEBUG";
#else
            Text = "Release";
#endif
            Text += Environment.Is64BitProcess;
        }

将 Configuration Manager 设置为 Debug+x86(尽管是 x64 计算机),并将项目属性下的 Build-tab 设置为 Release+x64(非“活动”)。结果是:“DEBUGfalse”。

那么后者(构建选项卡)是干什么用的?

4

1 回答 1

3

它只是让您通过取消选中它来跳过在该特定配置中构建项目。如果项目不能或不应该在该配置中构建,则这是必需的。这是一件非常罕见的事情,但如果您只想在 Release 构建中构建安装程序或有一个无法在配置中构建的项目,那么它可能会很有用。

拥有不同平台的概念对于非托管代码很重要,而对于托管代码则非常不重要。由于托管代码自然而然地忽略了目标体系结构,因此抖动会在运行时处理它。平台的名称也与程序可以运行的架构无关,唯一重要的设置是项目+属性、构建选项卡、平台目标设置。并且仅适用于 EXE 项目。该设置与解决方案的平台名称不匹配让 VS2010 用户深感困惑。

托管解决方案的唯一合理设置是只有一个名为 AnyCPU 的解决方案平台。它在 VS2010 之前的 VS 版本中完成的方式。在构建非托管代码时,您只会考虑添加平台。

于 2013-09-08T12:19:51.330 回答