我们使用MSBuild构建我们的Web项目,并在Cruise Control构建服务器上创建部署包。然后将这些包部署到各个位置(Test,Stage,Prod)。
我们使用Web.config转换来设置所有环境的设置,并为开发和发布设置不同的版本。
然后我们使用parameters.xml来设置特定于环境的详细信息,如连接字符串,日志记录信息和服务端点。
但是,如果我只想要一个当前将被删除的环境重写规则,因为web.config将被覆盖。
更新 就我的测试显示,无法将XML文本设置为值。这样的事情会失败:
<setParameter name="Additional Rewrite Rule" value="\<rule name="Redirect subdomain to sub-domain-purchase" stopProcessing="true"\>
\<match url="(.*)" \/\>
\<conditions logicalGrouping="MatchAll" trackAllCaptures="false"\>
\<add input="{HTTP_HOST}" pattern="subdomain.hostname.com" \/\>
\</conditions\>
\<action type="Redirect" url="http://sub-domain.hostname.com/{R:0}" redirectType="SeeOther" \/\>
\</\rule\>" />