2014-12-04 3 views
1

В MSBuild, мы можем определить метаданные предмета, как:Можно ли определить повторяющиеся ItemMetadata?

<ItemGroup> 
     <DProjs Include="$(GroupProjPath)app.dproj"> 
      <DCP>test1</DCP> 
     </DProjs> 
    </ItemGroup> 

Я также может определить дубликат метаданных:

<ItemGroup> 
     <DProjs Include="$(GroupProjPath)app.dproj"> 
      <DCP>test1</DCP> 
      <DCP>test2</DCP> 
      <DCP>test3</DCP> 
     </DProjs> 
    </ItemGroup> 

Но как бы я получить доступ к 3 отчетливое значение метаданных элемента?

<Message Text="%(DProjs.DCP)" /> 

всегда возвращается test3.

ответ

3

Вы можете сделать значение метаданных <DCP>test1;test2;test3</DCP>, что и ожидалось, если бы допустили повторяющиеся значения. Вы можете использовать задачу CreateItem, чтобы превратить ее в список элементов, которые затем могут быть загружены (зациклированы) или использовать их, как вы имели в виду.

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