6

我已將命令BuildOnlyProject添加到菜單中。但它總是被禁用。當我在Solutionexplorer中選擇一個項目節點時,它也被禁用。 有人知道爲什麼嗎?命令BuildOnlyProject已禁用

感謝和問候,托馬斯

+0

當選擇項目的子節點時怎麼辦?該選項是否顯示在項目的上下文菜單中?它工作正常嗎? – shoosh 2011-04-22 00:38:11

回答

6

Visual Studio不支持只爲C#或Visual Basic項目構建的項目,僅適用於C++項目。如果你有C#和C++項目混合溶液,它可以選擇在Solution Explorer中一個C++項目,你會看到:

  • 建設 - >項目只 - >只建CPlusPlusProjectName
菜單中的

。使用這個菜單選項會逐字地導致只有一個項目被建立,如輸出窗口所示。在另一方面,如果你選擇了C#項目,「項目僅」子菜單將會消失,並建立該項目的唯一方法是用:

  • 建設 - >構建CSharpProjectName

當您使用此菜單選項時,所選項目和項目所依賴的任何其他項目也將建立,通常是幾個項目。

這就是爲什麼如果您選擇的項目不是C++項目,「Build Only Project」命令將被禁用。

+0

好 - 現在有辦法在c#中定義,只有當前項目應該建立 - 沒有項目,這取決於當前? – BennoDual 2011-04-22 12:37:01

+0

儘管我們可能希望擁有該功能,但Visual Studio沒有此功能。但「Build - > Build ProjectName」至少不會構建不依賴ProjectName的其他項目,因此構建解決方案的速度仍然更快。 – 2011-04-22 15:51:00

+0

是否有可能直接用MSBuild做到這一點? - 所以我可以寫一個腳本來達到我的目標。 – BennoDual 2011-04-23 20:10:54

4

你想發生什麼事,這將是從命令Build.BuildSelection有什麼不同?看來Build.BuildProjectOnly does not work和MS似乎暗示了what people want is Build.BuildSelection

+0

我來到這裏尋找一種方法去做F5做的事情:僅*構建*當前項目(僅依賴於依賴),*僅*如果過期。即使沒有過期,BuildSelection也會經歷所有依賴項和當前項目。 – 2012-06-12 18:42:28

2

如果你想變髒,爲什麼不是一個特別打造的配置添加到您的項目只包括要建立

Project configuration

只有選定項目將構建一個項目。