2013-02-25 66 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