Visual Studio解决方案文件 - “Build.0”是什么意思?

时间:2013-06-28 11:02:01

标签: visual-studio-2010 visual-studio visual-studio-2012 build solution

我正在查看我的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 file explanation有点神秘,似乎没有完全解释sln文件的这一部分。

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:2)

我不是百分百肯定(没有找到任何来源来确认我的猜测),但我相信.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行,以及配置和平台属性将设置为“Debug”和“Any CPU”以构建该项目,因为这是ActiveCfg行在使用Configuration和Platform属性组合构建时发送到项目的内容。

如果我将Configuration属性设置为“Debug”并将Platform设置为“Mixed Platforms”,则解决方案将构建项目,但它仍将使用“Debug | Any CPU”作为Configuration和Platform属性,因为它是ActiveCfg行要发送的内容。

相关问题