鉴于此项目组:
<ItemGroup>
<Foo Include="First">
<Value>1</Value>
</Foo>
<Foo Include="Second">
<Value>2</Value>
</Foo>
</ItemGroup>
如何获取第二项(2)的Value
元数据?我正在思考:
<Message Text="%(Foo.Value)" Condition="'' == 'Second'" />
但我不知道如何编写Condition属性。
谢谢!
答案 0 :(得分:6)
身份元数据给出了项目的价值。
<Message Text="%(Foo.Value)" Condition="'%(Foo.Identity)' == 'Second'" />
答案 1 :(得分:1)
我不是msbuild的专家,但我怀疑这是可能的。我找到了一种解决方法,您可以在Foo组中添加另一个元数据标签,这将按照以下说明进行操作。
<ItemGroup>
<Foo Include="First">
<Value>1</Value>
<Source>First</Source>
</Foo>
<Foo Include="Second">
<Value>2</Value>
<Source>Second</Source>
</Foo>
<Foo Include="Third">
<Value>2</Value>
</Foo>
</ItemGroup>
这样的条件只会打印上述3个元素中的第2个
<Message Text="%(Foo.Value)" Condition="'%(Foo.Source)' == 'Second'" />