2013-02-25 73 views
2

我正在编写一个MsBuild脚本来处理配置文件并进行转换。我正在创建一个.Dev.config文件的集合,因此:字符串替换文件集合

<ItemGroup> 
    <DevConfigFiles Include="..\Source\**\*.Dev.config"/> 
</ItemGroup> 

这工作正常。根据%(DevConfigFiles.Identity)做任务给了我我期望的。我想采集该集合,并创建相同文件名的相应集合,但将“.Dev.config”替换为“.config”。

我找不出MsBuild语法来完成此操作。什么是完成这个最好的方法?

注意:我会考虑用于获取* .config文件列表和* .Dev.config文件的相应列表的替代技术,但实际上我想了解用于调用集合上的字符串函数的MsBuild语法。这是绊倒我的部分。

另一个注意:在这种情况下,我不能使用%(扩展)元数据,因为它不会删除字符串的“.Dev”部分。它认为文件名的一部分。

回答

2

类似于SO问题,其中OP要采取文件的集合,并复制它们与基于原始字符串的名称。

MSBUild: Copy files with a name based on the original (following a pattern)

+0

有趣。我猜这样的事情可以解决我的问题。试验... – RationalGeek 2013-02-25 14:22:12

+0

是的。这工作。有点令人费解,但我会接受。 :-) – RationalGeek 2013-02-25 14:41:12

+0

@RationalGeek对我来说这是一个新的。看起来有点像在xslt中调用函数。它的确意味着你有一些.net库对你开放,所以你不必急于写任务来做一些简单的事情。 – Bronumski 2013-02-25 14:54:57