是否有一个MSBuild任务会将行写入文件的* start *?

时间:2010-09-03 10:27:25

标签: msbuild msbuild-task

我正在使用WriteLinesToFile来更新更改日志文件(txt)。它将文本附加到文件的末尾。理想情况下,我希望能够将更改写入此文件的 start

是否有一个简单的任务(例如在社区或扩展包中)执行此操作?

1 个答案:

答案 0 :(得分:10)

我在自定义任务包中没有看到类似的东西。

您可以使用ReadLinesFromFileWriteLinesToFile

作弊
<PropertyGroup>
  <LogFile>log.txt</LogFile>
</PropertyGroup>

<ItemGroup>
  <Log Include="Line1"/>
  <Log Include="Line2"/>
</ItemGroup>

<Target Name="WriteFromStart">
  <ReadLinesFromFile File="$(LogFile)" Condition="Exists('$(LogFile)')">
    <Output TaskParameter="Lines" ItemName="Log"/>
  </ReadLinesFromFile>

  <WriteLinesToFile File="$(LogFile)" 
                    Lines="@(Log)" 
                    Condition="@(Log) != '' And (@(Log) != '\r\n' Or @(Log) != '\n')"
                    Overwrite="true">
  </WriteLinesToFile>
</Target>

或者您可以创建自定义任务。