В моем скрипте MSBuild есть следующая задача:
<Target Name="ZipStates">
<Message Text="CREATING ZIP FOR %(StateSet.Name)" />
<CreateItem Include="$(StagingArea)\v$(VersionString)\States\%(StateSet.Name)\v$(VersionString)%20%(StateSet.Abbreviation)XTend\**\*.*" >
<Output ItemName="ZipFiles" TaskParameter="Include"/>
</CreateItem>
<MSBuild.Community.Tasks.Zip Files="@(ZipFiles)"
ZipFileName="$(StagingArea)\v$(VersionString)\States\%(StateSet.Name)\v$(VersionString)%(StateSet.Abbreviation).zip" />
</Target>
<ItemGroup>
<StateSet Include="AK">
<Name>Alaska</Name>
<Abbreviation>AK</Abbreviation>
</StateSet>
<StateSet Include="FL">
<Name>Florida</Name>
<Abbreviation>FL</Abbreviation>
</StateSet>
<StateSet Include="LA">
<Name>Louisiana</Name>
<Abbreviation>LA</Abbreviation>
</StateSet>
</ItemGroup>
Вывод выглядит так:
ZipStates:
СОЗДАНИЕ ЗИПА ДЛЯ Аляски
СОЗДАНИЕ ZIP для Флориды
СОЗДАНИЕ ZIP для Луизианы
Создание zip-файла "C: \ StagingArea \ v5_6_0 \ States \ Alaska \ v5_6_0AK.zip".
Кажется, что когда я делаю пакет таким образом, каждая команда в задаче выполняется для каждого узла в группе элементов, а затем она переходит к следующему шагу. В итоге я получаю 3 почтовых индекса, которые содержат одинаковые файлы.
Кто-нибудь имеет представление о том, как я могу сделать это по-другому?