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