如何将MsBuild ItemGroup转换为PropertyGroup?

时间:2015-03-26 13:18:23

标签: msbuild msbuild-4.0

我有一个ItemGroup:

<ItemGroup>
    <FilesToExclude Include="One.dll;Two.dll" />
</ItemGroup>

我希望能够拥有一个属性组,其中包含上述dll的连接结果(不包括双引号):

"-x!One.dll -x!Two.dll"

我目前正在使用:

    <tmp>
      -x! @(FilesToExclude)
    </tmp>

正在制作:

"-x!One.dll;Two.dll"

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

指定连接的分隔符:

<ItemGroup>
  <FilesToExclude Include="One.dll;Two.dll"/>
</ItemGroup>

<PropertyGroup>
  <tmp>-x!@(FilesToExclude, ' -x!')</tmp>
</PropertyGroup>

为了对此示例中的评估顺序充满信心,请在Target中移动PropertyGroup定义。