按msbuild中的itemgroup元数据批处理文件字符串

按msbuild中的itemgroup元数据批处理文件字符串,msbuild,Msbuild,如何通过在itemgroup中传递的元数据以及文件名对文件中的字符串进行批处理 以下是我到目前为止得到的信息,但我不知道如何将初始itemgroups元数据Level传递到结果项组行: <ItemGroup> <LogFile Include="1.log"> <Level>Warning</Level> </LogFile> <LogFile Include="2.log"> <Level>W

如何通过在itemgroup中传递的元数据以及文件名对文件中的字符串进行批处理

以下是我到目前为止得到的信息,但我不知道如何将初始itemgroups元数据
Level
传递到结果项组

<ItemGroup>
 <LogFile Include="1.log">
   <Level>Warning</Level>
 </LogFile>
 <LogFile Include="2.log">
   <Level>Warning</Level>
 </LogFile>
 <LogFile Include="3.log">
  <Level>Error</Level>
 </LogFile>
<ItemGroup>

<ReadLinesFromFile
    File="@(LogFile)" >
    <Output
        TaskParameter="Lines"
        ItemName="LogMessage"/>
</ReadLinesFromFile>

<Message Text="%(LogMessage.Identity)" />

当%(LogFile.Level)

给出警告和错误时,由于
不接受ITaskItem集合
@(LogFile)
作为其
文件
输入,您似乎无法尝试实现,并且您必须在任务级别
%(LogFile.Identity)


警告
警告
错误
有一些关于的示例,但它们都涉及可以处理ITaskItem集合输入的任务(如
Copy
等)

Warning: (lines from 1.log>
Warning: (lines from 2.log>
Error: (lines from 3.log)
<Project ToolsVersion="4.0" DefaultTargets="PrintOut">
    <ItemGroup>
        <LogFile Include="1.log">
            <Level>Warning</Level>
        </LogFile>
        <LogFile Include="2.log">
            <Level>Warning</Level>
        </LogFile>
        <LogFile Include="3.log">
            <Level>Error</Level>
        </LogFile>
    </ItemGroup>

    <Target Name="ReadLogs">
        <ReadLinesFromFile File="%(LogFile.Identity)">
            <Output TaskParameter="Lines" ItemName="LogMessage" />
        </ReadLinesFromFile>
    </Target>

    <Target Name="PrintOut" DependsOnTargets="ReadLogs">
        <Message Text="%(LogMessage.Identity)" />
    </Target>
</Project>