【问题标题】:MSBUILD Splitting text file into linesMSBUILD 将文本文件拆分为行
【发布时间】:2015-11-27 19:35:59
【问题描述】:

注意,我已经通过了:

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 等),我都只会收到一个警告,而不是每行收到一个警告。

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    您将这些行存储在一个属性中(可能是拼写错误?无论如何,直到现在我什至都不知道这是可能的 - 在documentation 中也没有提到它),将它们存储在一个项目列表中,你会获取线条,已由 ReadLinesFromFile 拆分,因此您不必为此烦恼,毕竟这是应该使用的主要方式。请注意 ItemName 所在的 PropertyName

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多