2009-07-14 2 views
0

У меня есть следующие задачи в моем MSBuild сценарии: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 zips, которые содержат одни и те же файлы.

У кого-нибудь есть идея, как я могу сделать это по-другому?

+0

Что именно вы хотите сделать вместо трех разных почтовых индексов? –

+0

В основном, zip для каждого состояния, содержащего только файлы. – NotMyself

ответ

0

Выяснил это. Мне нужно было изменить способ создания списка файлов, который будет уникальным для каждого списка. Нравится так:

<Target Name="ZipStates"> 

    <CreateItem Include="$(StagingArea)\v$(VersionString)\States\%(StateSet.Name)\v$(VersionString)%20%(StateSet.Abbreviation)XTend\**\*.*" 
       Exclude="web.config"> 
     <Output ItemName="XtendZipFiles%(StateSet.Abbreviation)" TaskParameter="Include"/> 
    </CreateItem> 

    <MSBuild.Community.Tasks.Zip Files="@(XtendZipFiles%(StateSet.Abbreviation))" 
      ZipFileName="$(StagingArea)\v$(VersionString)\States\%(StateSet.Name)\v$(VersionString)%(StateSet.Abbreviation)XTend.zip" /> 

    </Target> 

 Смежные вопросы

  • Нет связанных вопросов^_^