Cross-Join ItemGroups w MSBuild
Biorąc pod uwagę coś takiego ..
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ConfigFiles Include="*.config" />
<DatabaseConfig Include="ABC">
<Database>DB1</Database>
<CsString>Database</CsString>
</DatabaseConfig>
<DatabaseConfig Include="DEF">
<Database>DB2</Database>
<CsString>Logging</CsString>
</DatabaseConfig>
</ItemGroup>
<Target Name="test" >
<!-- Some sort of join here (or somewhere)... -->
<Message Text=" %(Combined.ConfigFile) %(Combined.Database) " />
</Target>
</Project>
Chciałbym, aby dane wyjściowe wyglądały następująco: (podano dwa pliki one.config i two.config)
one.config DB1
two.config DB1
one.config DB2
two.config DB2
(kolejność nie jest ważna, tylko pełny produkt kartezjański dwóch grup przedmiotów)