WriteLinesToFile - задача
Записывает пути указанных элементов в заданный текстовый файл.
Параметры задачи
В следующей таблице приводятся параметры задачи WriteLinestoFile
.
Параметр | Описание |
---|---|
File |
Обязательный параметр ITaskItem . Указывает файл, в который нужно записать элементы. |
Lines |
Необязательный параметр ITaskItem[] .Указывает элементы, которые нужно записать в файл. По умолчанию используется пустой список. |
Overwrite |
Необязательный параметр Boolean .Если задано значение true , задача перезаписывает существующее содержимое файла. По умолчанию — false . |
Encoding |
Необязательный параметр String .Выбирает кодировку символов, например Юникод. По умолчанию — UTF-8. См. также Encoding. |
WriteOnlyWhenDifferent |
Необязательный параметр Boolean .Если задано значение true , то указанный целевой файл (если он существует) будет считываться первым для сравнения с данными, которые записала бы задача. Если они совпадают, то файл не записывается на диск, а метка времени сохраняется. По умолчанию — false . |
Замечания
Если Overwrite
имеет значение true
, создается файл, в него записывается содержимое, а затем файл закрывается. Если целевой файл уже существует, он будет переопределен. Если Overwrite
имеет значение false
, содержимое добавляется к файлу. Если конечный файл не существует, он создается.
Помимо перечисленных выше параметров, эта задача наследует параметры от класса TaskExtension, который, в свою очередь, наследует от класса Task. Список этих дополнительных параметров и их описания см. в статье Базовый класс TaskExtension.
Пример
В этом примере задача WriteLinesToFile
используется для записи путей к элементам из коллекции MyItems
в файл, указанный в коллекции элементов MyTextFile
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyTextFile Include="Items.txt"/>
<MyItems Include="*.cs"/>
</ItemGroup>
<Target Name="WriteToFile">
<WriteLinesToFile
File="@(MyTextFile)"
Lines="@(MyItems)"
Overwrite="true"
Encoding="Unicode"/>
</Target>
</Project>
В этом примере свойство с внедренными символами новой строки используется для записи текстового файла, содержащего несколько строк. Если запись в Lines
содержит внедренные символы новой строки, новые строки включаются в выходной файл. Таким образом можно ссылаться на многострочные свойства.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<Target Name="WriteLaunchers" AfterTargets="CopyFilesToOutputDirectory">
<PropertyGroup>
<LauncherCmd>
@ECHO OFF
dotnet %~dp0$(AssemblyName).dll %*
</LauncherCmd>
</PropertyGroup>
<WriteLinesToFile
File="$(OutputPath)$(AssemblyName).cmd"
Overwrite="true"
Lines="$(LauncherCmd)" />
</Target>
</Project>