MSBuild组合文件

che*_*525 9 msbuild

我正在尝试在构建过程中将所有javascript文件组合在一个项目中,但它对我来说不起作用.这就是我所拥有的:

<Target Name="CombineJS">
  <CreateItem Include=".\**\*.js">
    <Output TaskParameter="Include" ItemName="jsFilesToCombine" />
  </CreateItem>

  <ReadLinesFromFile File="@(jsFilesToCombine)">
    <Output TaskParameter="Lines" ItemName="jsLines" />
  </ReadLinesFromFile>

  <WriteLinesToFile File="all.js" Lines="@(jsLines)" Overwrite="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)

MSBuild ReadLinesFromFile在行上抛出一个错误,指出"File"参数的值无效.(当只有一个文件要合并时没有错误)

那么,有两个问题:

  1. 我究竟做错了什么?
  2. 有没有更好的方法来组合MSBuild任务中的文件?我问这个问题,因为我知道我当前的进程删除了所有标签和空行,对我来说这不是什么大不了的事,但仍然有点烦人.

KMo*_*raz 14

将第6行更改为:

<ReadLinesFromFile File="%(jsFilesToCombine.FullPath)">
Run Code Online (Sandbox Code Playgroud)

@当输入是操作者使用的ItemGroup基本上是字符串的分号分隔的列表.

%运营商扩大ItemGroups成字符串(属性).