WriteLinesToFile (tarea)
Escribe las rutas de acceso de los elementos especificados en el archivo de texto especificado.
Parámetros de tareas
En la siguiente tabla se describen los parámetros de la tarea WriteLinestoFile
.
Parámetro | Descripción |
---|---|
File |
Parámetro ITaskItem requerido. Especifica el archivo en el que se escriben los elementos. |
Lines |
Parámetro ITaskItem[] opcional.Especifica los elementos que se van a escribir en el archivo. El valor predeterminado es la lista vacía. |
Overwrite |
Parámetro Boolean opcional.Si es true , la tarea sobrescribe cualquier contenido existente en el archivo. El valor predeterminado es false . |
Encoding |
Parámetro String opcional.Selecciona la codificación de caracteres, por ejemplo, "Unicode". El valor predeterminado es UTF-8. Vea también Encoding. |
WriteOnlyWhenDifferent |
Parámetro Boolean opcional.Si true , el archivo de destino especificado, si existe, se leerá en primer lugar para hacer una comparación con lo que habría escrito la tarea. Si el resultado de la comparación es idéntico, el archivo no se escribe en disco y la marca de tiempo se conservará. El valor predeterminado es false . |
Comentarios
Si Overwrite
es true
, crea un archivo, escribe el contenido en el archivo y después lo cierra. Si el archivo de destino ya existe, se sobrescribe. Si Overwrite
es false
, anexa el contenido al archivo y crea el archivo de destino si aún no existe.
Además de los parámetros mencionados anteriormente, esta tarea hereda los parámetros de la clase TaskExtension, que a su vez hereda de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, consulte TaskExtension base class.
Ejemplo
En el ejemplo siguiente se usa la tarea WriteLinesToFile
para escribir las rutas de acceso de los elementos de la colección de elementos MyItems
en el archivo especificado por la colección de elementos 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>
En este ejemplo se usa una propiedad con nuevas líneas insertadas para escribir un archivo de texto con varias líneas. Si una entrada en Lines
ha insertado caracteres de nueva línea, las nuevas líneas se incluirán en el archivo de salida. De este modo, puede hacer referencia a las propiedades de varias líneas.
<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>