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行說的發送。

相關問題