Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何转换web.config值?_C#_.net_Web Config_App Config - Fatal编程技术网

C# 如何转换web.config值?

C# 如何转换web.config值?,c#,.net,web-config,app-config,C#,.net,Web Config,App Config,我正在尝试为不同的情况(调试、发布等)创建不同的配置文件,并希望更改不同版本的一些设置 <configuration> <applicationSettings> <Program1.Properties.Settings> <setting name="CustomerId" serializeAs="String"> <value>Custormer1-13256</value> </setting

我正在尝试为不同的情况(调试、发布等)创建不同的配置文件,并希望更改不同版本的一些设置

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

客户1-13256
如何将标记内的值更改为其他值

   ex. <value>Customer2-343242</value>
ex.Customer2-343242
使用:


客户2-343242

您需要将转换放在Web.Config XML的完整路径中

<applicationSettings>
  <Program1.Properties.Settings>
    <setting name="CustomerId">
      <value xdt:Transform="Replace">Customer2-343242</value>
    </setting>
  </Program1.Properties.Settings>
</applicationSettings>

客户2-343242

然后使用预览变换菜单选项对其进行测试,将配置更改为如下所示:

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

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

客户1-13256
然后进行如下转换:

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

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

客户1-13256
因此,您实际上并不是在“更改”值内部文本,而是让它为您创建的每个构建配置选择正确的值。

xdt:Locator=“Match(name)”
添加到


客户2-343242

这项工作:

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

客户2-343242

你能解释清楚一点吗?在web.config中,我有以下代码。在web.conf2.config中,我想将值更改为customer2。我知道属性可以通过xdt进行转换,我想知道我们是否也可以将其应用于值。我正在寻找像Erwin建议的东西。我尝试将xdt:Transform=“Replace”放在该标记中,但没有更改值内的任何内容。您是否右键单击原始配置并选择“添加配置转换”来添加第二个配置“?是的,我甚至通过这个网站webconfigtransformationtester.apphb.com尝试了它,但没有替换任何内容。的所有父节点也都在您的转换配置中?是否可以发布完整的配置和转换配置?如果您想替换该部分中的所有内容,这非常有用。”。