定义重复的ItemMetadata是否合理?

时间:2014-12-04 05:16:18

标签: msbuild

MSBuild中,我们可以将Item元数据定义为:

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

我也可以定义重复的Item元数据:

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

但是我如何访问3个不同的项元数据值?

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

始终返回test3

1 个答案:

答案 0 :(得分:3)

如果允许重复值,您可以设置元数值<DCP>test1;test2;test3</DCP>,这是您所期望的。您可以使用CreateItem任务将其转换为可以批处理(循环)的项目列表,或者按照您的意思使用它。