使用 MSBuild 将 JavaScript 文件与正则表达式连接

问题描述 投票:0回答:1
c# .net .net-core msbuild concatenation
1个回答
0
投票

以下几行正在创建项目集合。

<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
项目集合中。

© www.soinside.com 2019 - 2024. All rights reserved.