如何将多行提取到msbuild中的变量

如何将多行提取到msbuild中的变量,msbuild,msbuild-task,Msbuild,Msbuild Task,我看到了下面的帖子 从这一点上,我还没有弄明白如何做到以下几点 如果我想读取所有行,但想将每一行存储在不同的变量中而不使用分号,我该怎么办 <ReadLinesFromFile File="@(File)"> <Output TaskParameter="Lines" ItemName="FileContents" /> </ReadLinesFromFile> <Line1>"What should I do here?" </L

我看到了下面的帖子

从这一点上,我还没有弄明白如何做到以下几点

如果我想读取所有行,但想将每一行存储在不同的变量中而不使用分号,我该怎么办

<ReadLinesFromFile File="@(File)">
    <Output TaskParameter="Lines" ItemName="FileContents" />
</ReadLinesFromFile>
<Line1>"What should I do here?" </Line1>
<Line2>"What should I do here?" </Line2>

“我在这里该怎么办?”
“我在这里该怎么办?”

将内容读入属性,然后拆分该属性并从中取出一项。当然,这需要您事先知道文件的行数(至少)与属性的行数相同

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

$([System.String]::复制($(FileContents)).Split(“;”)[0])
$([System.String]::复制($(FileContents)).Split(“;”)[1])