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>