2013-07-24 28 views
0

我知道我可以做以下我可以創建一個屬性節點集合並將它們作爲一個整體引用嗎?

<PropertyGroup> 
    <Foo>Bar</Foo> 
    <Foo1>Bar1</Foo1> 
    <Foos>$(Foo) $(foo1)</Foos> 
</PropertyGroup> 

<Target Name="Def"> 
    <Message Text="$(Foos)"/> 
</Target> 

,並得到Bar Bar1

但是,如果你在的PropertyGroup許多屬性,這並不規模非常好。

有沒有辦法引用一個PropertyGroup或其他節點,並讓MSBuild爲您做了很多工作?

我知道PropertyGroup元素不支持,但是想象一下,能夠做

<PropertyGroup Name="Bob"> 
    <Foo>Bar</Foo> 
    <Foo1>Bar 1</Foo1> 
</PropertyGroup> 

<Target Name="Def"> 
    <Message Text="$(Bob)"/> 
</Target> 

,並得到Bar Bar 1

回答

1

這可以使用的ItemGroup和@()符號來實現。

<ItemGroup> 
    <Foo Include="Bar"/> 
    <Foo Include="Bar1"/> 
</ItemGroup> 

<Message Text="@(Foo)"/> 

Bar;Bar1打印

通知@符號加入項由缺省WT A分號。我們可以用第二個參數來改變@(..)

<ItemGroup> 
    <Foo Include="Bar"/> 
    <Foo Include="Bar1"/> 
</ItemGroup> 

<Message Text="@(Foo, ' ')"/> 

打印Bar Bar1

相關問題