2015-11-27 95 views
0

請注意,我已經經歷了: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)" /> 

無論組合我嘗試在斯普利特(如\ n,\ r \ n,%0A等),我只得到一個警告,而不是讓每行一個警告。

回答

0

你正在存儲行中的一個屬性(打字可能?反正我甚至都不知道是可能的,直到現在 - 它也沒有在documentation中提到),將它們存儲在項目列表中,而不是你將得到的這些線已經被ReadLinesFromFile分解了,所以你不必爲此煩惱,畢竟這是它應該被使用的主要方式。請注意您的 PropertyName

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