如何转换web.config值?

dar*_*e2k 12 .net c# app-config web-config

我试图为不同的情况(调试,发布等)制作不同的配置文件,我想更改不同版本的一些设置.

<configuration>
<applicationSettings>
<Program1.Properties.Settings>
  <setting name="CustomerId" serializeAs="String">
    <value>Custormer1-13256</value>
  </setting>
</Program1.Properties.Settings>
</applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如何将标签内的值更改为其他值?

   ex. <value>Customer2-343242</value>
Run Code Online (Sandbox Code Playgroud)

小智 15

添加xdt:Locator="Match(name)"到欧文的回答

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<applicationSettings>
    <Program1.Properties.Settings>
        <setting name="CustomerId" serializeAs="String" xdt:Transform="Replace" 
                                                             xdt:Locator="Match(name)">
            <value>Customer2-343242</value>
        </setting>
    </Program1.Properties.Settings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)


Bon*_*Bon 5

将您的配置更改为如下所示:

<configuration>
  <applicationSettings>
    <Program1.Properties.Settings>
      <setting name="CustomerId" serializeAs="String">
        <value>Custormer1-13256</value>
      </setting>
    </Program1.Properties.Settings>

  </applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

并进行这样的转换:

<configuration>
  <applicationSettings>
    <Program1.Properties.Settings xdt:Transform="Replace">
      <setting name="CustomerId" serializeAs="String">
        <value>Custormer1-13256</value>
      </setting>
    </Program1.Properties.Settings>
  </applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

所以你并没有真正“改变”内部文本的值,而是让它为你创建的每个构建配置选择正确的值。


Erw*_*win 1

使用Web 配置转换:

<setting name="CustomerId" serializeAs="String" xdt:Transform="Replace">
  <value>Customer2-343242</value>
</setting>
Run Code Online (Sandbox Code Playgroud)