MSBuild中的箭头/短横符(->)运算符是什么作用?

9

->(或->)操作符在MSBuild中的作用是什么?

以下是另一个问题中的一些示例代码:文件跟踪器日志文件格式

<!-- 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)') 是什么意思?
1个回答

19

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

->'^%(Identity)' 魔法部分地描述在任务批处理文档中。 Identity 元数据只是该值本身,因此该转换仅在其前面添加了 "^"。由于有 % 符号,它还会导致批处理,因此整个 WriteLinesToFile 任务会对每个 CustomBuildStep 项执行。


5
请注意,-> 也用于项函数。参见 https://msdn.microsoft.com/zh-cn/library/ee886422.aspx。 - stijn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接