我正在编写一个 MsBuild 脚本来处理配置文件并进行转换。因此,我正在创建一个 .Dev.config 文件的集合:
<ItemGroup>
<DevConfigFiles Include="..\Source\**\*.Dev.config"/>
</ItemGroup>
这工作正常。针对 %(DevConfigFiles.Identity) 执行任务给了我我所期望的。我想采用该集合,并创建一个具有相同文件名的相应集合,但将“.Dev.config”替换为“.config”。
我无法弄清楚完成这项工作的 MsBuild 语法。实现这一目标的最佳方法是什么?
注意:我会考虑获取 *.config 文件列表和对应的 *.Dev.config 文件列表的替代技术,但我真的想了解在集合上调用字符串函数的 MsBuild 语法。那是让我绊倒的部分。
另一个注意事项:在这种情况下,我不能使用 %(Extension) 元数据,因为它不会删除字符串的“.Dev”部分。它考虑文件名的那一部分。