MSBUILD将文本文件拆分为行

时间:2015-11-27 19:35:59

标签: msbuild

请注意,我已经完成了:

  

Is there a way to print a new-line when using <Message...>?

     

Read text file and split every line in MSBuild

但由于一些奇怪的原因,我无法使其发挥作用。

我有:

        <ReadLinesFromFile File="$(OutputPath)myfile.log">
            <Output PropertyName="FileOutput" TaskParameter="Lines" />
        </ReadLinesFromFile>

        <Message Text="$(FileOutput)"/>

- 这样可行,整个文件内容会显示在屏幕上。

现在我希望该文件中的每一行都能报告警告/错误。

    <ItemGroup>
        <SplitVersion Include="$(FileOutput.Split('%0A%0D'))"/>
    </ItemGroup>

    <Warning Text="%(SplitVersion.Identity)" /> 

我在Split中尝试的是什么组合(例如\ n,\ r \ n,%0A等)我只收到一个警告,而不是每行都收到一个警告。

1 个答案:

答案 0 :(得分:0)

你是把这些行存放在一个属性中(也许是错字?无论如何我甚至不知道到现在为止是这样的 - 在documentation中也没有提到它),而是将它们存储在一个项目列表中并且你已经获得了由ReadLinesFromFile分割的线条,所以你不必为此烦恼,并且毕竟它应该被使用的主要方式。请注意ItemName所在的PropertyName

<ReadLinesFromFile File="$(OutputPath)myfile.log">
  <Output ItemName="FileOutput" TaskParameter="Lines" />
</ReadLinesFromFile>
<Message Text="%(FileOutput.Identity)"/>