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