我的MVC 5应用程序中有许多不同的Web.config用于不同的环境 - 例如测试/生产
我有适当的网络转换来更改不同环境的值。例如,我在web.config文件中有以下应用程序设置:
<appSettings>
<add key="DevDisplayPanel" value="true" />
</appSettings>
然后在我的Web.Test.config和Web.Prod.config中使用Web转换来更改值,如下所示:
<appSettings>
<add key="DevDisplayPanel"
xdt:Transform="Replace"
xdt:Locator="Match(key)"
value="false" />
<appSettings>
但是在我的Web.config中,我也有自己的自定义部分,它位于<appSettings>
部分之外,如下所示:
<myCustomSection>
<serverList>
<add zone="Zone1" url="https://dev-myurl1.com"/>
<add zone="Zone2" url="https://dev-myurl2.com"/>
<add zone="Zone2" url="https://dev-myurl3.com"/>
</serverList>
</myCustomSection>
我的问题是 - 是否可以进行网络转换,以便Test和Prod看起来如下:
测试:
<myCustomSection>
<serverList>
<add zone="Zone1" url="https://test-myurl1.com"/>
<add zone="Zone2" url="https://test-myurl2.com"/>
<add zone="Zone2" url="https://test-myurl3.com"/>
</serverList>
</myCustomSection>
PROD:
<myCustomSection>
<serverList>
<add zone="Zone1" url="https://prod-myurl1.com"/>
<add zone="Zone2" url="https://prod-myurl2.com"/>
<add zone="Zone2" url="https://prod-myurl3.com"/>
</serverList>
</myCustomSection>
答案 0 :(得分:14)
您可以尝试替换<serverList>
代码的内容。
测试:
<myCustomSection>
<serverList xdt:Transform="Replace">
<add zone="Zone1" url="https://test-myurl1.com"/>
<add zone="Zone2" url="https://test-myurl2.com"/>
<add zone="Zone2" url="https://test-myurl3.com"/>
</serverList>
</myCustomSection>
PROD:
<myCustomSection>
<serverList xdt:Transform="Replace">
<add zone="Zone1" url="https://prod-myurl1.com"/>
<add zone="Zone2" url="https://prod-myurl2.com"/>
<add zone="Zone2" url="https://prod-myurl3.com"/>
</serverList>
</myCustomSection>