我在使用 MSBuild 编写脚本时遇到以下问题:我创建了一个默认项目“itemA”,其中包含两个元数据“metadata1”和“metadata2”,其中 metadata2 指的是 metadata1。
当我稍后定义 itemA 并覆盖 metadata1 时,metadata2 仍然包含 metadata1 的默认值。如何使元数据2 引用“新”元数据1?
代码说明如下:
<ItemDefinitionGroup>
<itemA>
<Metadata1>default</Metadata1>
<Metadata2>%(itemA.Metadata1)</Metadata2>
</itemA>
</ItemDefinitionGroup>
<ItemGroup>
<itemA Include="first" >
<Metadata1>m_data1</Metadata1>
</itemA>
</ItemGroup>
但是看印刷品
<Message Text="itemA.Metadata1 = %(itemA.Metadata1)" />
<Message Text="itemA.Metadata2 = %(itemA.Metadata2)" />
提供:
itemA.Metadata1 = m_data1 ***<-- correctly updated***
itemA.Metadata2 = default ***<-- why showing the default value, not* m_data1??**
更新后如何使 itemA.Metadata2 具有与 itemA.Metadata1 相同的值?