2012-03-12 67 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