我试图使用MSBuild项目列出可以与尚未知的基本路径相关的通配符路径的数量。因此,我希望能写:在不扩展它的情况下在项目标识中使用星号
<Item Include="Content\**\*.js" />
但不评估,作为一个路径,而是将其添加为一个简单的项目,其%(Identity)
仍是字符串“内容\ ** \ * .js文件”。
这是可能的MSBuild?
我试图使用MSBuild项目列出可以与尚未知的基本路径相关的通配符路径的数量。因此,我希望能写:在不扩展它的情况下在项目标识中使用星号
<Item Include="Content\**\*.js" />
但不评估,作为一个路径,而是将其添加为一个简单的项目,其%(Identity)
仍是字符串“内容\ ** \ * .js文件”。
这是可能的MSBuild?
正如你已经发现,该项目的身份需要转义。 MSbuild具有内在的功能,可以轻松完成此任务,因此您无需查看每个字符:
<ItemGroup>
<Item Include="$([MSBuild]::Escape('Content\**\*'))" />
</ItemGroup>
往往是这样,我发布后立即发现答案。
按MSBuild Special Characters,我需要转义星号作为%2A