在项目标识中使用星号而不扩展它

时间:2017-10-08 10:07:08

标签: msbuild

我正在尝试使用MSBuild项列出可以根据尚未知的基本路径进行评估的通配符路径的数量。因此,我希望能够写下:

<Item Include="Content\**\*.js" />

将其评估为路径,而是将其添加为%(Identity)仍为字符串“Content \ ** \ * .js”的简单项目。

在MSBuild中这可能吗?

2 个答案:

答案 0 :(得分:1)

通常情况下,我在发布后立即发现答案。

根据MSBuild Special Characters,我需要将星号转移为%2A

答案 1 :(得分:1)

正如您所发现的,物品标识需要转义。 MSbuild具有内在功能,可以轻松完成这一任务,因此您无需查找每个角色:

<ItemGroup>
  <Item Include="$([MSBuild]::Escape('Content\**\*'))" />
</ItemGroup>