<applicationSettings> 的 web.config 转换 [英] web.config transforms for &lt;applicationSettings&gt;

查看:36
本文介绍了<applicationSettings> 的 web.config 转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有多种环境的 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆