14

我正在尝试为不同的情况(调试、发布等)制作不同的配置文件,并且我想为不同的构建更改一些设置。

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

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

   ex. <value>Customer2-343242</value>
4

5 回答 5

16

添加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>

于 2014-02-10T14:25:32.790 回答
5

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

<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>

因此,您并没有真正“更改”值内部文本,而是让它为您创建的每个构建配置选择正确的值。

于 2013-08-15T04:49:15.817 回答
3

这有效:

<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>
于 2015-09-22T14:29:53.367 回答
1

使用Web 配置转换

<setting name="CustomerId" serializeAs="String" xdt:Transform="Replace">
  <value>Customer2-343242</value>
</setting>
于 2013-04-22T09:46:15.830 回答
0

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

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

然后使用 Preview Transform 菜单选项对其进行测试

于 2013-04-24T12:35:12.720 回答