MSBUILD对ItemGroup中的重复项进行操作
我有一个项目组,其中包含一些相互重复的项目。我想在ItemGroup中所有项目的修改版本上执行任务。但是,到目前为止,我还没有找到一种不删除重复项的方法 是否存在这种情况MSBUILD对ItemGroup中的重复项进行操作,msbuild,Msbuild,我有一个项目组,其中包含一些相互重复的项目。我想在ItemGroup中所有项目的修改版本上执行任务。但是,到目前为止,我还没有找到一种不删除重复项的方法 是否存在这种情况 <ItemGroup> <MyMessage Include="foo" /> <MyMessage Include="bar" /> <MyMessage Include="baz" /> <MyMessage Include="foo" />
<ItemGroup>
<MyMessage Include="foo" />
<MyMessage Include="bar" />
<MyMessage Include="baz" />
<MyMessage Include="foo" />
<MyMessage Include="baz" />
<MyMessage Include="baz" />
</ItemGroup>
<Target Name="DemoBug">
<Message Importance="High" Text="FIRST VERSION USING ItemGroup ..."/>
<Message Importance="High" Text="@(MyMessage)"/>
<Message Importance="High" Text="SECOND VERSION USING Batching and Metadata ..."/>
<Message Importance="High" Text="someprefix;%(MyMessage.Identity);somesuffix"/>
</Target>
第二个版本像我希望的那样多次执行消息任务,但它正在剥离重复项,我不希望它这样做
5> SECOND VERSION USING Batching and Metadata ...
5> someprefix;foo;somesuffix
5> someprefix;bar;somesuffix
5> someprefix;baz;somesuffix
我想做的事情根本不可能(在这种情况下,也许是时候切换到PowerShell来完成我的任务了),或者有什么合理的方法可以做到这一点
(在我的实际任务中,项目来自ReadLinesFromFile,经过各种处理后,最终将以WriteListFile结束。它工作正常,除非遇到重复的行)Msbuild任务批处理没有循环。它执行它应该执行的操作,将具有相同元数据值的项分组在批中。在您的示例中,它是按%(标识)分组的 项目转换在您的情况下有效吗?差不多
Msbuild任务批处理未循环。它执行它应该执行的操作,将具有相同元数据值的项分组在批中。在您的示例中,它是按%(标识)分组的 项目转换在您的情况下有效吗?差不多
Msbuild任务批处理未循环。它执行它应该执行的操作,将具有相同元数据值的项分组在批中。在您的示例中,它是按%(标识)分组的 项目转换在您的情况下有效吗?差不多
Msbuild任务批处理未循环。它执行它应该执行的操作,将具有相同元数据值的项分组在批中。在您的示例中,它是按%(标识)分组的 项目转换在您的情况下有效吗?差不多
似乎没有。它不会正确地剥离重复项,但它会将它们全部放在一个消息运行中,并连接这些项。这不是您想要的吗?对于每个项目(包括重复项),您将获得一个修改版本。消息任务正在扁平化为“;”-分隔行,但写入文件应该可以很好地处理它们。。。你也可以使用不同的分隔符,如果你想的话。似乎没有。它不会正确地剥离重复项,但它会将它们全部放在一个消息运行中,并连接这些项。这不是您想要的吗?对于每个项目(包括重复项),您将获得一个修改版本。消息任务正在扁平化为“;”-分隔行,但写入文件应该可以很好地处理它们。。。你也可以使用不同的分隔符,如果你想的话。似乎没有。它不会正确地剥离重复项,但它会将它们全部放在一个消息运行中,并连接这些项。这不是您想要的吗?对于每个项目(包括重复项),您将获得一个修改版本。消息任务正在扁平化为“;”-分隔行,但写入文件应该可以很好地处理它们。。。你也可以使用不同的分隔符,如果你想的话。似乎没有。它不会正确地剥离重复项,但它会将它们全部放在一个消息运行中,并连接这些项。这不是您想要的吗?对于每个项目(包括重复项),您将获得一个修改版本。消息任务正在扁平化为“;”-分隔行,但写入文件应该可以很好地处理它们。。。如果需要,也可以使用不同的分隔符。
5> SECOND VERSION USING Batching and Metadata ...
5> someprefix;foo;somesuffix
5> someprefix;bar;somesuffix
5> someprefix;baz;somesuffix