WriteLinesToFile görevi

Belirtilen öğelerin yollarını belirtilen metin dosyasına yazar.

Görev parametreleri

Aşağıdaki tabloda görevin parametreleri WriteLinestoFile açıklanmaktadır.

Parametre Tanım
File Gerekli ITaskItem parametresi.

Öğeleri yazacak dosyayı belirtir.
Lines İsteğe bağlı ITaskItem[] parametre.

Dosyaya yazacak öğeleri belirtir. Varsayılan değer boş listedir.
Overwrite İsteğe bağlı Boolean parametre.

ise true, görev dosyadaki mevcut içeriğin üzerine yazar. Varsayılan false değeridir.
Encoding İsteğe bağlı String parametre.

Karakter kodlamasını seçer, örneğin, "Unicode". Varsayılan değer UTF-8'dir. Ayrıca Encodingbkz. .
WriteOnlyWhenDifferent İsteğe bağlı Boolean parametre.

ise true, belirtilen hedef dosya varsa, görevin yazacağı değerle karşılaştırmak için önce okunur. Aynıysa, dosya diske yazılmaz ve zaman damgası korunur. Varsayılan false değeridir.

Açıklamalar

ise Overwrite true, yeni bir dosya oluşturur, içeriği dosyaya yazar ve dosyayı kapatır. Hedef dosya zaten varsa, üzerine yazılır. ise Overwrite false, içeriği dosyaya ekler ve hedef dosya zaten yoksa oluşturulur.

Yukarıda listelenen parametrelere ek olarak, bu görev kendi sınıfından TaskExtension devralan sınıfından Task parametreleri devralır. Bu ek parametrelerin ve açıklamalarının listesi için bkz . TaskExtension temel sınıfı.

Örnek

Aşağıdaki örnek, öğe koleksiyonundaki WriteLinesToFile öğelerin MyItems yollarını öğe koleksiyonu tarafından MyTextFile belirtilen dosyaya yazmak için görevi kullanır.

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

Bu örnekte, birden çok satır içeren bir metin dosyası yazmak için eklenmiş yeni satırlara sahip bir özellik kullanıyoruz. içindeki Lines bir girdide yeni satır karakterleri eklenmişse, yeni satırlar çıkış dosyasına eklenir. Bu şekilde, çok satırlı özelliklere başvurabilirsiniz.

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

Ayrıca bkz.