31

我正在查看我的 Visual Studio .sln 文件,因为我正在自定义构建配置(原因很长,涉及的项目不会在 VS2012 中加载)。

有谁知道Build.0构建配置部分的含义是什么?是不是意味着这个项目被勾选在这个构建配置下构建?

还有,跟什么有ActiveCfg关系?

{CFHHHA78-C688-40B3-B53A-20C963A6F138}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CFHHHA78-C688-40B3-B53A-20C963A6F138}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CFHHHA78-C688-40B3-B53A-20C963A6F138}.Debug|Mixed Platforms.ActiveCfg = Debug|AnyCPU
{CFHHHA78-C688-40B3-B53A-20C963A6F138}.Debug|x86.ActiveCfg = Debug|Any CPU

也欢迎任何指向 .sln 文件演练的链接。与往常一样,MSDN .sln 文件的解释有点神秘,似乎并没有完全解释 sln 文件的这一部分。

4

2 回答 2

12

是的,你的预感是对的。这确实意味着该项目的 Build 选项已勾选以在构建配置下构建。我刚刚通过在 Visual Studio 的一个实例中打开解决方案并在另一个 Visual Studio 实例的文本编辑器(打开方式)中打开 .sln 文件来测试这一点。如果您在第一个中更改配置选项并全部保存,您将在第二个中看到相应的更改。

于 2013-11-01T18:31:48.457 回答
8

我不是 100% 确定(没有找到任何来源来证实我的猜测),但我相信该部分的条目中的.ActiveCfg和正在使用,如下所述。Build.0GlobalSection(ProjectConfigurationPlatforms)

{3759D495-6929-4371-92B1-E0C0F5215051}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3759D495-6929-4371-92B1-E0C0F5215051}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3759D495-6929-4371-92B1-E0C0F5215051}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{3759D495-6929-4371-92B1-E0C0F5215051}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU

如果我将解决方案的 Configuration 属性设置为“Debug”并将 Platform 属性设置为“Any CPU”,根据上面的条目,项目将构建,因为该Build.0行,并且 Configuration 和 Platform 属性将设置为“Debug " 和 "Any CPU" 用于构建该项目,因为这是ActiveCfg在使用配置和平台属性的组合构建时发送到项目的行所说的内容。

如果我将 Configuration 属性设置为“Debug”并将 Platform 设置为“Mixed Platforms”,则解决方案将构建项目,但仍将“Debug|Any CPU”用于 Configuration 和 Platform 属性,因为这就是ActiveCfg行说要送。

于 2015-10-08T18:04:46.813 回答