WriteLinesToFile-Aufgabe
Schreibt die Pfade der angegebenen Elemente in die angegebene Textdatei.
Aufgabenparameter
In der folgenden Tabelle werden die Parameter der WriteLinestoFile
-Aufgabe beschrieben.
Parameter | Beschreibung |
---|---|
File |
Erforderlicher ITaskItem -Parameter. Gibt die Datei an, in die Elemente geschrieben werden sollen |
Lines |
Optionaler ITaskItem[] -ParameterGibt die Elemente an, die in die Datei geschrieben werden sollen Der Standardwert ist die leere Liste. |
Overwrite |
Optionaler Boolean -Parameter.Wenn true , überschreibt die Aufgabe den vorhandenen Inhalt in der Datei Der Standardwert ist false . |
Encoding |
Optionaler String -Parameter.Wählt die Zeichencodierung aus, z.B. „Unicode“ Der Standardwert ist UTF-8. Siehe auch Encoding. |
WriteOnlyWhenDifferent |
Optionaler Boolean -Parameter.Wenn true , wird die angegebene Zieldatei (sofern vorhanden) zuerst gelesen, um den Inhalt mit der Ausgabe des Tasks zu vergleichen. Wenn beides identisch ist, wird die Datei nicht auf den Datenträger geschrieben, und der Zeitstempel bleibt erhalten. Der Standardwert ist false . |
Hinweise
Wenn Overwrite
true
ist, wird eine neue Datei erstellt. Anschließend werden die Inhalte in die Datei geschrieben und diese wird geschlossen. Ist die Zieldatei bereits vorhanden, wird sie überschrieben. Wenn Overwrite
false
ist, wird der Inhalt an die Datei angefügt und die Zieldatei erstellt, wenn sie nicht bereits vorhanden ist.
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der TaskExtension-Klasse, die selbst von der Task-Klasse erbt. Eine Liste mit diesen zusätzlichen Parametern und ihren Beschreibungen finden Sie unter TaskExtension-Basisklasse.
Beispiel
Das folgende Beispiel verwendet die Aufgabe WriteLinesToFile
, um Pfade der Elemente in der MyItems
-Elementauflistung in die von der MyTextFile
-Elementauflistung angegebene Datei zu schreiben.
<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>
In diesem Beispiel wird eine Eigenschaft mit eingebettetem Zeilenvorschub verwendet, um Textdateien zu schreiben, die aus mehreren Zeilen bestehen. Wenn ein Eintrag in Lines
eingebettete Zeilenumbruchzeichen aufweist, werden die neuen Zeilen in die Ausgabedatei eingefügt. Dadurch können Sie auf Eigenschaften verweisen, die aus mehreren Zeilen bestehen.
<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>