Я пишу script для msbuild, который должен сделать две партии за один шаг.
Пример: 2 группы элементов
<ItemGroup>
<GroupOne Include="1" />
<GroupOne Include="2" />
</ItemGroup>
<ItemGroup>
<GroupTwo Include="A" />
<GroupTwo Include="B" />
</ItemGroup>
Эти две группы должны быть связаны друг с другом:
<Message Text="%(GroupOne.Identity) %(GroupTwo.Identity)" />
Я надеялся, что msbuild сделает результат обеих партий, давая
1 A
2 A
1 B
2 B
.
Но этого не произошло. Вместо этого он возвратил следующее бесполезное дерьмо:
1
2
A
B
Выполняя это так, как блог из приведенной ниже ссылки предлагает (используя локальную группу свойств), например
<PropertyGroup>
<GroupOneStep>%(GroupOne.Identity)</GroupOneStep>
</PropertyGroup>
<Message Text="$(GroupOneStep) %(GroupTwo.Identity)" />
марки
2 A
2 B
Любые подсказки? Я сошел с ума.: - (
PS: Вот блогпост о теме - к сожалению, он не работает, как реквизит там: http://blogs.msdn.com/b/giuliov/archive/2010/04/30/gotcha-msbuild-nested-loops-double-batching.aspx