WriteLinesToFile — zadanie
Zapisuje ścieżki określonych elementów do określonego pliku tekstowego.
Parametry zadania
W poniższej tabeli opisano parametry WriteLinestoFile
zadania.
Parametr | Opis |
---|---|
File |
Wymagany parametr interfejsu ITaskItem. Określa plik do zapisania elementów. |
Lines |
Opcjonalny ITaskItem[] parametr.Określa elementy do zapisu w pliku. Wartość domyślna to pusta lista. |
Overwrite |
Opcjonalny Boolean parametr.Jeśli true zadanie zastępuje dowolną istniejącą zawartość w pliku. Wartość domyślna to false . |
Encoding |
Opcjonalny String parametr.Wybiera kodowanie znaków, na przykład "Unicode". Wartość domyślna to UTF-8. Zobacz też Encoding. |
WriteOnlyWhenDifferent |
Opcjonalny Boolean parametr.Jeśli true plik docelowy zostanie określony, jeśli istnieje, najpierw zostanie odczytany w celu porównania z tym, co zostałoby zapisane przez zadanie. Jeśli plik jest identyczny, plik nie jest zapisywany na dysku, a sygnatura czasowa zostanie zachowana. Wartość domyślna to false . |
Uwagi
Jeśli Overwrite
parametr ma true
wartość , tworzy nowy plik, zapisz zawartość w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie zastąpiony. Jeśli Overwrite
parametr ma false
wartość , dołącza zawartość do pliku, tworząc plik docelowy, jeśli jeszcze nie istnieje.
Oprócz parametrów wymienionych powyżej to zadanie dziedziczy parametry z TaskExtension klasy, która sama dziedziczy z Task klasy. Aby uzyskać listę tych dodatkowych parametrów i ich opisy, zobacz TaskExtension, klasa bazowa.
Przykład
W poniższym przykładzie użyto WriteLinesToFile
zadania do zapisania ścieżek elementów w kolekcji elementów do MyItems
pliku określonego MyTextFile
przez kolekcję elementów.
<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>
W tym przykładzie używamy właściwości z osadzonymi liniami, aby napisać plik tekstowy z wieloma wierszami. Jeśli wpis w pliku Lines
zawiera osadzone znaki nowego wiersza, nowe wiersze zostaną uwzględnione w pliku wyjściowym. W ten sposób można odwoływać się do właściwości wielowierszowych.
<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>