以下几行正在创建项目集合。
<ItemGroup>
<JsLines Include="$([System.IO.File]::ReadAllText(%(JsFiles.Identity)))"/>
</ItemGroup>
但是
Include
尝试将提供的值解释为一组由分号分隔的文件路径。正则表达式中的转义字符被视为目录分隔符。
请勿在项目
[System.IO.File]::ReadAllText()
中使用 Include
。
ReadLinesFromFile
任务。
例如
<ItemGroup>
<JsFiles Include="wwwroot/**/*.js" />
</ItemGroup>
<ReadLinesFromFile File="%(JsFiles.Identity)">
<Output TaskParameter="Lines" ItemName="JsLines" />
</ReadLinesFromFile>
<WriteLinesToFile Lines="@(JsLines)" File="wwwroot/bundle.js" Overwrite="true" />
ReadLinesFromFile
任务不会解释从文件中读取的行。该任务将为每个独特的%(JsFiles.Identity)
进行批处理。每批次都会添加到 JsLines
项目集合中。