Web Deploy Package - 具有复杂XML的web.config的setParameter

时间:2014-03-21 16:26:48

标签: msdeploy webdeploy

我使用Web Deploy软件包在部署而非构建时转换web.config文件方面取得了一些进展。这个目标是#34;构建一次,随处部署"。我遇到的问题是当我需要在web.config中添加或更改复杂的XML时。

例如,如果我的基本web.config包含:

<customSection>
</customSection>

我可能希望部署的web.config看起来像这样:

<customSection>
    <someSettingKey>QA Setting</someSettingKey>
</customSection>

似乎可以使我的SetParameters.xml看起来像:

<setParameter name="customSection" value="&lt;someSettingKey&gt;QA Setting&lt;/someSettingKey&gt;" />

但这似乎有点麻烦,特别是当XML变得更嵌套/复杂时。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我能够稍微分解配置,以便基本web.config(用于本地测试)具有简单的XML,并且具有一个用于Release配置的转换(即在服务器上运行的转换)。此转换添加了复杂的XML,其中只有少数几个键需要通过用于QA,生产等的SetParameters.xml进行更改。

XML的复杂性来自encrypting a web.config section。加密(因此,复杂性)仅在服务器上需要。

我认为另一种方法可能是使用configSource attribute对某些部分分解配置文件...但是我并没有真正充实。