1
考虑一个MSBuild项目中的项目类型FooItem
。MSBuild与物品元数据的微妙?
在一个任务中,我们可以对项目及其元数据的引用,例如:
%(FooItem.BarMetadata)
或
@(FooItem->'Metadata("BarMetadata")')
或
@(FooItem->'%(BarMetadata)')
是否有这三种方法之间的差异,这与我看起来完全相同?很明显,转换语法(->
)通常功能更强大,但我已经明确给出了一个简单的例子,它等价于使用%
运算符,从我所知道的。
此外,这里是否对任务批处理有任何影响(假定这些表达式在任务项目内)?一般来说,我想知道是否有任何方法可以阻止元数据的任务批量处理,同时仍然引用任务中的某些元数据。
所以基本上你的意思是,变换语法(' - >' )不会执行任何批处理任务,而'%'确实......似乎所有,对吧? – Noldorin 2012-03-27 19:57:46
不可以。您可以将两者用于批处理,因为它们之间很少。当我需要简单的非格式化字符串数组时,我会使用' - >'。 – KMoraz 2012-03-27 20:35:15
但很明显,它*在第一种情况下是配料,而不是在第二种情况下。解释一下。 – Noldorin 2012-03-27 20:41:40