<applicationSettings> 的 web.config 转换 [英] web.config transforms for <applicationSettings>
问题描述
我有多种环境的 web.config 转换.在配置文件中,我有一个 applicationSettings 部分,其中包含多个设置和值对.
I have web.config transforms for several environments. In the config file I have an applicationSettings section with several setting and value pairs.
我根据我用来匹配名称的语法进行了尝试,并将连接字符串更改为匹配设置并更改值,但转换失败.这是可能吗?
I have tried based on the syntax I use to match name and change the connection strings to also match settings and change the value but the transforms are failing. Is this at all possible?
所以我的 web.config 有:
So my web.config has:
<applicationSettings>
<AppName.My.MySettings>
<setting name="setting1" serializeAs="String">
<value>Initial Value</value>
</setting>
</AppName.My.MySettings>
</applicationSettings>
我的转换文件有
<applicationSettings>
<add name="setting1" value="Changed Value" xdt:Transform="SetAttributes" xdt:Location="Match(name)"/>
</applicationSettings>
预览转换时没有出现错误,但连接字符串设置已转换,而 setting1 的值却没有.任何帮助表示赞赏.
I get no errors when I preview the transform but whereas the connection string setting are transformed the value for setting1 is not. Any help appreciated.
更新
<applicationSettings>
<add name="setting1" value="Changed Value" xdt:Transform="Replace" xdt:Location="Match(name)"/>
</applicationSettings>
不幸的是同样的问题...没有错误也没有转换.
Unfortunately same problem... No errors and no transform.
解决方案我确实忘记提到我有不止一个设置,所以标记的答案是部分解决方案......我就是这样做的......Web.Config...
SOLUTION I did forget to mention I have more than one setting so marked answer is partial solution... This is how I did it... Web.Config...
<applicationSettings>
<AppName.My.MySettings>
<setting name="setting1" serializeAs="String">
<value>Initial Value 1</value>
</setting>
<setting name="setting2" serializeAs="String">
<value>Initial Value 2</value>
</setting>
<setting name="setting3" serializeAs="String">
<value>Initial Value 3</value>
</setting>
</AppName.My.MySettings>
</applicationSettings>
转换文件
<applicationSettings xdt:Transform="Replace">
<AppName.My.MySettings>
<setting name="setting1" serializeAs="String">
<value>CHANGED VALUE 1</value>
</setting>
<setting name="setting2" serializeAs="String">
<value>Initial value 2</value>
</setting>
<setting name="setting3" serializeAs="String">
<value>CHANGED VALUE 3</value>
</setting>
</AppName.My.MySettings>
</applicationSettings>
注意我必须包含所有嵌套的设置和值,即使其中一些没有像我的示例中的设置 2 那样更改.
Note I had to include all my nested settings and values even if some of them didn't change as in the case of setting 2 in my example.
推荐答案
原文件:
<applicationSettings>
<AppName.My.MySettings>
<setting name="setting1" serializeAs="String">
<value>Initial Value</value>
</setting>
</AppName.My.MySettings>
</applicationSettings>
转换文件:
<applicationSettings>
<AppName.My.MySettings>
<setting name="setting1" serializeAs="String">
<value xdt:Transform="Replace">Changed Value</value>
</setting>
</AppName.My.MySettings>
</applicationSettings>
这篇关于<applicationSettings> 的 web.config 转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!