->(或->)运算符在MSBuild中做什么?

另一个问题的一些示例代码:File Tracker Log file format

<!-- Appended tlog to track custom build events -->
<WriteLinesToFile
  File="$(IntDir)$(ProjectName).write.1.tlog"
  Lines="@(CustomBuildStep-&gt;'^%(Identity)');@(CustomBuildStep-&gt;MetaData('Outputs')-&gt;FullPath()-&gt;Distinct())"/>


额外的问题:@(CustomBuildStep-&gt;'^%(Identity)')在上面的代码中做什么?

最佳答案

MSBuild中的->运算符是transformation operator。通过使用原始项目的元数据在右侧替换字符串,它将项目列表转换为新的项目列表。

task batching文档中部分描述了->'^%(Identity)'魔术。 Identity元数据本身就是值本身,因此转换仅以“ ^”开头。由于%标记的原因,这也将导致批处理,因此,每个WriteLinesToFile项目都将执行整个CustomBuildStep任务。

关于visual-studio - MSBuild->(箭头/破折号/->)运算符做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34236759/

10-13 07:14