2010-07-04 4 views
1

Я использую msdeploy для переноса моих изменений (через сценарий nant в Team City), которые я делаю на сайте, и это здорово !! У меня только один вопрос, я использую msdeploy с функцией синхронизации, чтобы облегчить мою жизнь.msdeploy sync и web.config

В настоящее время я исключаю web.config в свой msdeploy, потому что я не знаю, как изменить web.config на лету. Как изменить файл web.config на целевом сайте, если я выполняю синхронизацию?

ответ

1

Предположим, у вас есть исходный каталог с web.config файл, который выглядит следующим образом:

<configuration> 
    <system.web> 
     <randomSection name="value" name2="value2" /> 
    </system.web> 
</configuration> 

И вы хотите, чтобы изменить «название» атрибут «GoGermany»

msdeploy -verb:sync -source:dirpath=c:\source -dest:dirpath=c:\dest 
    -setParam:type=XmlFile,match=//randomSection/@name,scope=web.config$,value=GoGermany 

Этот будет синхронизировать два каталога, а также конвертировать web.configs для изменения атрибута @name. Подпараметр «match» - это X-Path, который выбирает атрибут для изменения.

Вы также можете сделать параметр, используя type = "TextFile", и в этом случае вы можете выполнить регулярное выражение для соответствия/полного файла. В приведенном выше примере используется XmlFile, что означает преобразование атрибута XML.

Надеюсь, что это поможет.

+0

Большое вам спасибо. Это спасло мой день! – DomenicDatti