我发现了以下帖子 MSBuild ReadLinesFromFile all text on one line
由此我无法弄清楚如何做到以下几点。
如果我想使用ReadAllLines但是想要将每一行存储在不带分号的不同变量中,我该怎么办?
<ReadLinesFromFile File="@(File)">
<Output TaskParameter="Lines" ItemName="FileContents" />
</ReadLinesFromFile>
<Line1>"What should I do here?" </Line1>
<Line2>"What should I do here?" </Line2>
答案 0 :(得分:1)
将内容读入属性,然后拆分该属性并从中获取一个项目。这当然要求您事先知道该文件将具有(至少)与您拥有的属性一样多的行。
<Target Name="ReadFile">
<ReadLinesFromFile File="$(MyInputFile)">
<Output TaskParameter="Lines" PropertyName="FileContents"/>
</ReadLinesFromFile>
</Target>
<Target Name="CreateProperties" DependsOnTargets="ReadFile">
<PropertyGroup>
<Line0>$([System.String]::Copy( $(FileContents) ).Split( ';' )[ 0 ])</Line0>
<Line1>$([System.String]::Copy( $(FileContents) ).Split( ';' )[ 1 ])</Line1>
</PropertyGroup>
</Target>