Я пишу скрипт MsBuild для обработки файлов конфигурации и преобразования. Я создаю коллекцию файлов .Dev.config таким образом:строка заменить на сбор файлов
<ItemGroup>
<DevConfigFiles Include="..\Source\**\*.Dev.config"/>
</ItemGroup>
Это прекрасно работает. Выполнение задачи против% (DevConfigFiles.Identity) дает мне то, что я ожидаю. Я хотел бы взять эту коллекцию и создать соответствующую коллекцию с теми же именами файлов, но с заменой «.Dev.config» на «.config».
Я не могу понять синтаксис MsBuild, чтобы это сделать. Каков наилучший способ сделать это?
ПРИМЕЧАНИЕ: Я бы рассмотрел альтернативные методы получения списка файлов * .config и соответствующего списка файлов * .Dev.config, но на самом деле я хотел бы понять синтаксис MsBuild для вызова строковых функций по коллекции , Это та часть, которая меня отключает.
ДРУГОЕ ПРИМЕЧАНИЕ: Я не могу использовать метаданные% (Extension) в этом случае, потому что он не удаляет часть «.Dev» строки. Он считает, что часть имени файла.
Интересно. Я предполагаю, что что-то подобное может решить мое дело. Экспериментирование ... – RationalGeek
Yup. Это сработало. Немного запутанный, но я возьму его. :-) – RationalGeek
@RationalGeek Это было новое для меня. Выглядит немного как вызов функций в xslt. Это означает, что у вас есть какая-то библиотека .net, открытая для вас, поэтому вам не нужно спешить и написать задачу, чтобы сделать что-то простое. – Bronumski