2012-03-12 45 views
2

屬性可以被初始化爲默認值在PropertyGroup這樣的:如何使用默認值初始化ItemGroup中的項目?

<PropertyGroup> 
    <MyProperty Condition="$(MyProperty) == ''">MyDefaultValue</MyProperty> 
</PropertyGroup> 

是否可以達到同樣與項目?:

<ItempGroup> 
    <MyItems Condition="MyItems is no defined" Include="MyDefaultFile.ext;"/> 
</ItemGroup> 

目前我正在做:

<ItemGroup> 
    <MyItems Condition="!Exists(@(MyItems))" Include="MyDefaultFile.ext;"/> 
</ItemGroup> 

但我不認爲這是好主意(即MyItems中的文件可能不存在,而MyItems可能定義)

回答

3

設置在ItemGroup水平的條件:

<ItemGroup Condition="'@(MyItems)' == ''"> 
    <MyItems Include="MyDefaultFile.ext" /> 
</ItemGroup> 

您還可以使用ItemDefinitionGroup初始化默認元數據值。

+1

謝謝你的回答 – CitizenInsane 2012-03-12 22:23:51

+0

只是爲其他讀者澄清。 「包含」關鍵字意味着將其他項目追加到名爲「MyItems」的項目列表中。 – Shiv 2017-02-23 04:39:03