VC PlusPlus:MSBuild アイテムグループ変数
概要
アイテムグループ変数は@(ItemGroup)のような形式でアットマークを使って表記する変数です。
アイテムグループの基礎
タグごとにアイテムグループという概念が存在します。以下のようにTextというアイテムが定義されていたとします。そうするとタグ名Textというアイテムグループが存在することになり、@(Text)で、その内容が出力できます。
<Project ...>
<ItemGroup>
<Text Include="doc\a.en.txt" />
<Text Include="doc\a.ja.txt" />
<Text Include="doc\a_hpnonstop.en.txt" />
<Text Include="doc\a_hpnonstop.ja.txt" />
<Text Include="doc\a.en.txt" />
<Text Include="doc\a.ja.txt" />
</ItemGroup>
<Target Name="MessageText" AfterTargets="Build">
<Message Text="@ (Text) =@(Text)" />
</Target>
</Project>
出力結果
@ (Text) = doc\a.en.txt;doc\a.ja.txt;doc\a_hpnonstop.en.txt;doc\a_hpnonstop.ja.txt;doc\a.en.txt;doc\a.ja.txt
このようにバッチのように複数行にはなりませんが、セミコロンでひとまとめにされたものとして、表示できます。@(text)は@(text->'%(Identity)')のように呼び出したの同じ出力になっています。