我在使用MSBuild編寫腳本時存在以下問題: 我使用兩個元數據「metadata1」和「metadata2」創建默認項目「itemA」,其中metadata2引用metadata1。MSBuild:如何更新項目中的默認元數據?
當我稍後定義itemA並覆蓋metadata1時,metadata2仍包含metadata1的默認值。我怎樣才能讓metadata2引用「新」元數據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更新後?
謝謝你的幫助。最終,我意識到,當我以不同的方式解決問題時,最好不要從同一個項目調用元數據。 – Ben