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[]-Parameter

Gibt 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 Overwritetrue 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 Overwritefalse 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>

Siehe auch