「VC PlusPlus:MSBuild バッチ処理変数」の版間の差分

提供:yonewiki
編集の要約なし
29行目: 29行目:
</syntaxhighlight>
</syntaxhighlight>


出力結果


 この時、実は%(Element)だけではなく、%(Identity)というものもBatchの中設定されていてIncludeという要素の値に対応しています。%(Element)がen-USを示す内容のときだけConditionの中で示された比較が成立し、%(ConditionEnUSBatch)もBatchの中にできていて、以下のように出力することができます。
<syntaxhighlight lang="text">
Batch = en-US;ja-JP
</syntaxhighlight>
 
 
 この時、実は%(Element)だけではなく、%(Identity)というものもBatchの中設定されていてIncludeという要素の値に対応しています。%(Element)がen-USを示す内容のときだけConditionの中で示された比較が成立し、%(ConditionEnUSBatch)もBatchの中にできていて、以下のようにして出力することができます。




40行目: 46行目:
       </Batch>
       </Batch>
     </ItemGroup>
     </ItemGroup>
     <Message Text="Batch = @(Batch->'%(Element), Identity = %(Identity), %(ContitionEnUSBatch')" Importance="High" />
     <Message Text="Batch = @(Batch->'%(Element), Identity = %(Identity), ConditionEnUSBatch = %(ConditionEnUSBatch)')" Importance="High" />
   </Target>
   </Target>
</syntaxhighlight>
出力結果
<syntaxhighlight lang="text">
Batch = en-US;ja-JP
</syntaxhighlight>
</syntaxhighlight>



2024年2月9日 (金) 21:15時点における版

VC PlusPlus:MSBuildに戻る。

概要

 バッチ処理は%(Batch)のように記述する変数です。


 例えば、以下のように書いた<ItemGroup>~</ItemGroup>があったとしたら


  <ItemGroup>
    <Batch Include="1" Element="en-US" />
    <Batch Include="2" Element="ja-JP" />
  </ItemGroup>


 %(Element)というバッチ処理がアイテムグループBatchの中に設定されたことになり、Batchの中のバッチとして扱う範囲の呼び出しができます。例えば以下のような使い方ができます。


  <Target Name="BatchTarget">
    <ItemGroup>
      <Batch Condition=" '%(Element)' == 'en-US' ">
         <ConditionEnUSBatch>true</ConditionEnUSBatch>
      </Batch>
    </ItemGroup>
    <Message Text="Batch = @(Batch->'%(Element)')" Importance="High" />
  </Target>

出力結果

Batch = en-US;ja-JP


 この時、実は%(Element)だけではなく、%(Identity)というものもBatchの中設定されていてIncludeという要素の値に対応しています。%(Element)がen-USを示す内容のときだけConditionの中で示された比較が成立し、%(ConditionEnUSBatch)もBatchの中にできていて、以下のようにして出力することができます。


  <Target Name="BatchTarget">
    <ItemGroup>
      <Batch Condition=" '%(Element)' == 'en-US' ">
         <ConditionEnUSBatch>true</ConditionEnUSBatch>
      </Batch>
    </ItemGroup>
    <Message Text="Batch = @(Batch->'%(Element), Identity = %(Identity), ConditionEnUSBatch = %(ConditionEnUSBatch)')" Importance="High" />
  </Target>

出力結果

Batch = en-US;ja-JP


 と表現できることになります。


 

VC PlusPlus:MSBuildに戻る。