Я использую msdeploy в командной строке для развертывания службы Windows с использованием глагола sync
против dirPath
поставщиков источников и получателей. Все идет нормально.Web Deploy (MSDeploy) 3.6 заменить правило для переименования файла
Активы для создания проекта имеют конфигурационные файлы для каждой среды, а во время развертывания в конкретную среду я хочу переименовать конфигурационный файл целевой среды в имя файла конфигурации по умолчанию, используя правило замены, но как бы я ни занимался заменой Правило ничего, кажется, не дает мне результатов, которые я хочу. Я пытался с рядом различных конфигураций правило, не повезло, но тот, который кажется наиболее логичным это один:
-replace:objectName=filePath,scopeAttributeName=path,scopeAttributeValue=Service\.Dev\.exe\.config,match=Service\.Dev\.exe\.config,replace=Service.exe.config
Если я раскрываю без правила замены и Service.Dev.exe.config
Service.exe.config
и развертываются с ожидаемый соответствующий контент. Как только я добавлю правило замены выше, я получаю только Service.exe.config
, и у него есть содержимое этого файла из источника, а не содержимое Service.Dev.exe.config
, как я надеюсь. Если я поменять характеристики в match
и replace
компонентов (и изменить регулярное выражение < -> простого текста соответственно), чтобы прибыть по адресу:
-replace:objectName=filePath,scopeAttributeName=path,scopeAttributeValue=Service\.Dev\.exe\.config,match=Service\.exe\.config,replace=Service.Dev.exe.config
Я просто Service.Dev.exe.config
с содержанием Service.exe.config
и в пункте назначения не Service.exe.config
.
Уверен, что мне не хватает чего-то очевидного, но что это?