Condividi tramite


WriteLinesToFile (attività)

Scrive i percorsi degli elementi specificati nel file di testo indicato.

Parametri dell'attività

Nella tabella che segue vengono descritti i parametri dell'attività WriteLinestoFile.

Parametro Descrizione
File Parametro ITaskItem obbligatorio.

Specifica il file in cui scrivere gli elementi.
Lines Parametro ITaskItem[] facoltativo.

Specifica gli elementi da scrivere nel file. Il valore predefinito è l'elenco vuoto.
Overwrite Parametro Boolean facoltativo.

Se true, l'attività sovrascrive qualsiasi contenuto esistente nel file. Il valore predefinito è false.
Encoding Parametro String facoltativo.

Seleziona la codifica dei caratteri, ad esempio "Unicode". L'impostazione predefinita è UTF-8. Vedere anche Encoding.
WriteOnlyWhenDifferent Parametro Boolean facoltativo.

Se true, il file di destinazione specificato, se presente, verrà letto prima di confrontarlo con quello che sarebbe stato scritto dall'attività. Se identico, il file non viene scritto su disco e il timestamp viene mantenuto. Il valore predefinito è false.

Osservazioni:

Se Overwrite è true, crea un nuovo file, scrive il contenuto nel file e quindi lo chiude. Se il file di destinazione è già esistente, viene sovrascritto. Se Overwrite è false, accoda il contenuto al file, creando il file di destinazione nel caso in cui non esista.

Oltre ai parametri elencati sopra, questa attività eredita i parametri dalla classe TaskExtension, che a sua volta eredita dalla classe Task. Per un elenco di questi parametri aggiuntivi e le rispettive descrizioni, vedere TaskExtension Base Class.

Esempio

L'esempio seguente usa l'attività WriteLinesToFile per scrivere i percorsi degli elementi della raccolta di elementi MyItems nel file specificato dalla raccolta di elementi 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>

In questo esempio si usa una proprietà con nuove righe incorporate per scrivere un file di testo con più righe. Se in una voce in Lines sono incorporati caratteri di nuova riga, le nuove righe vengono incluse nel file di output. In questo modo è possibile fare riferimento a proprietà su più righe.

<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>

Vedi anche