「VC PlusPlus:MSBuild アイテムグループ変数」の版間の差分
(ページの作成:「VC PlusPlus:MSBuildに戻る。 == '''概要''' == VC PlusPlus:MSBuildに戻る。」) |
編集の要約なし |
||
1行目: | 1行目: | ||
[[VC PlusPlus:MSBuild#関連記事|VC PlusPlus:MSBuild]]に戻る。 | [[VC PlusPlus:MSBuild#関連記事|VC PlusPlus:MSBuild]]に戻る。 | ||
== '''概要''' == | == '''概要''' == | ||
アイテムグループ変数は@(ItemGroup)のような形式でアットマークを使って表記する変数です。 | |||
=== '''アイテムグループの基礎''' === | |||
タグごとにアイテムグループという概念が存在します。以下のようにTextというアイテムが定義されていたとします。そうするとタグ名Textというアイテムグループが存在することになり、@(Text)で、その内容が出力できます。 | |||
<syntaxhighlight lang="xml"> | |||
<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" AfterTarget="Build"> | |||
<Message Text="@ (Text) =@(Text)" /> | |||
</Target> | |||
</Project> | |||
</syntaxhighlight> | |||
出力結果 | |||
<syntaxhighlight lang="xml"> | |||
@ (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 | |||
</syntaxhighlight> | |||
このようにバッチのように複数行にはなりませんが、セミコロンでひとまとめにされたものとして、表示できます。@(text)は@(text->'%(Identity)')のように呼び出したの同じ出力になっています。 | |||
[[VC PlusPlus:MSBuild#関連記事|VC PlusPlus:MSBuild]]に戻る。 | [[VC PlusPlus:MSBuild#関連記事|VC PlusPlus:MSBuild]]に戻る。 |
2024年2月14日 (水) 19:06時点における版
概要
アイテムグループ変数は@(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" AfterTarget="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)')のように呼び出したの同じ出力になっています。