2017-02-22 10 views
0

だけでファイル名を含むファイル名や拡張子、およびその他のItemGroupを含んItemGroupがある場合:名前が一致するグループAからアイテムを取得する方法MSBuildの - ItemGroup交差点

<ItemGroup> 
     <GroupA Include="file.1.txt"/> 
     <GroupA Include="file.2.txt"/> 
     <GroupA Include="file.3.txt"/> 
     <GroupA Include="file.4.txt"/> 
</ItemGroup> 


<ItemGroup> 
     <GroupB Include="file.1"/> 
     <GroupB Include="file.3"/> 
     <GroupB Include="file.5"/> 
</ItemGroup> 

GroupBで?

投稿された情報はhereですが、拡張子がないため適用されません。

答えて

0

TMP拡張子を持つオブジェクトの名前を拡張する時間的ItemGroupを導入、それに到達することができる。

<CreateItem Include="%(GroupB.Filename)%(GroupB.Extension).tmp" 
    AdditionalMetadata="CompleteName=%(GroupB.Filename)%(GroupB.Extension)"> 
    <Output TaskParameter="Include" ItemName="GroupB1" /> 
</CreateItem> 

<Message Text="%(GroupB1.CompleteName)"/> 
<Message Text="|@(GroupA)| – |%(Filename)| – |@(GroupB1)|"/> 

<CreateItem Include="@(GroupA)" Condition="'%(Filename)' != ''and '@(GroupB1)' != ''"> 
    <Output TaskParameter="Include" ItemName="GroupC"/> 
</CreateItem> 
<Message Text="%(GroupC.Filename)"/>