如何将 MsBuild ItemGroup 转换为 PropertyGroup?

How can I transform MsBuild ItemGroup into a PropertyGroup?

我有一个 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"

有什么想法吗?

指定连接分隔符:

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

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

为了确保此示例中的评估顺序,请将 PropertyGroup 定义移到 Target 中。