21

我正在查看我的Visual Studio .sln文件,因为我正在自定义构建配置(之所以长篇故事涉及的项目不会在VS2012中加载)。Visual Studio解决方案文件 - “Build.0”是什么意思?

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

另外,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文件的这一部分。

+0

依赖于此非常危险,未来的VS版本很容易让你失望。相当确定这是直接连接到Build + Configuration Manager对话框。你必须尝试。 –

+0

您的第一个问题答案 - 是的,在当前配置下打勾。回答第二个问题 - [this](http://msdn.microsoft.com/en-us/library/aa234586%28v=vs.60%29.aspx)可能会回答它。这也是我的理解 – ha9u63ar

回答

8

是的,你的直觉是对的。这意味着该项目的构建选项被勾选以在构建配置下构建。我只是通过在Visual Studio的一个实例中打开解决方案以及在另一个Visual Studio实例的文本编辑器(打开)中打开.sln文件来测试它。如果您在第一个中更改配置选项并全部保存,则会在第二个中看到适当的更改。

+0

“该项目是构建配置下构建的票据”是什么意思?它与ActiveCfg有何不同? – Mikhail

+0

在VS的配置管理器中,您可以选择要构建的项目以及每个解决方案配置和平台对的项目配置和平台。如果“项目被打勾”构建,那么它将在构建解决方案配置时生成。如果不是,它不会。 – PfhorSlayer

0

我不是100%确定(还没有发现任何消息来确认我的猜测),但我相信在GlobalSection(ProjectConfigurationPlatforms)部分条目中的.ActiveCfgBuild.0正在按照如下所述使用。

{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 

如果我设置了解决方案的配置属性设置为“调试”,并设置平台属性设置为“任何CPU”,根据以上项目,该项目将建成,因为Build.0线,以及配置和平台属性将设置为“调试”和“任何CPU”来构建该项目,因为这是ActiveCfg行在使用Configuration和Platform属性组合进行构建时发送给项目的内容。

如果我将配置属性设置为“调试”并将平台设置为“混合平台”,解决方案将生成项目,但它仍然使用“调试|任何CPU”作为配置和平台属性,是ActiveCfg行说的发送。

相关问题