2010-07-04 61 views
1

我正在使用msdeploy将我对网站进行的更改(通过Team City中的一个nant脚本)传送出去,它非常棒!我只有一个问题,我使用带有同步功能的msdeploy来让我的生活更轻松。msdeploy sync和web.config

我目前排除我的msdeploy中的web.config,因为我不知道如何在运行中更改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属性。 “匹配”子参数是选择要更改的属性的X-Path。

您也可以使用type =“TextFile”来执行参数,在这种情况下,您可以对整个文件执行正则表达式匹配/替换。上面的例子使用XmlFile这意味着一个XML属性转换。

希望有所帮助。

+0

非常感谢。这节省了我的一天! – DomenicDatti 2012-05-31 21:36:39