我正在使用msdeploy来转移我对网站所做的更改(通过Team City中的nant脚本),这非常棒!我只有一个问题,我使用带有同步功能的msdeploy让我的生活更轻松。
我目前在msdeploy中排除了web.config,因为我不知道如何动态更改web.config。如果我进行同步,如何更改目标站点上的web.config?
答案 0 :(得分:1)
假设您有一个带有web.config文件的源目录,如下所示:
<configuration>
<system.web>
<randomSection name="value" name2="value2" />
</system.web>
</configuration>
您想将“name”属性更改为“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属性。 “匹配”子参数是选择要更改的属性的X路径。
您也可以使用type =“TextFile”来执行参数,在这种情况下,您可以对整个文件执行正则表达式匹配/替换。上面的示例使用XmlFile,这意味着XML属性转换。
希望有所帮助。