MSBuild でスクリプトを作成する際に次の問題があります。2 つのメタデータ "metadata1" と "metadata2" を持つ既定のアイテム "itemA" を作成します。これにより、metadata2 は metadata1 を参照します。
後で itemA を定義し、metadata1 を上書きすると、metadata2 にはまだ metadata1 のデフォルト値が含まれています。「新しい」metadata1 を参照するように metadata2 を作成するにはどうすればよいですか?
以下のコードの例:
<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 と同じ値にするにはどうすればよいですか?