应用配置转换

时间:2013-01-28 20:36:43

标签: visual-studio msbuild config-transformation

抱歉这样的问题,但我花了太多时间。 我有一个app.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <userSettings>
    <tbp.qa.Properties.Settings>
      <setting name="ServiceUri" serializeAs="String">
       <value>localhost</value>
     </setting>
   </tbp.qa.Properties.Settings>
 </userSettings>
</configuration>

如何使用配置转换更改'值',我尝试了以下内容并且它不会改变任何内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <userSettings>
    <tbp.qa.Properties.Settings>
      <add name="ServiceUri" xdt:Transform="Replace" xdt:Locator="Match(name)">
        <value>localhost1</value>
      </add>
    </tbp.qa.Properties.Settings>
  </userSettings>
</configuration>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的配置文件转换XML结构应与原始配置文件的XML结构匹配。

因此,在您的配置中,您拥有名称为setting的元素,但在您的转换文件中,您拥有名称为add的元素。

因此,将您的转换元素从add更改为setting,它应该可以正常工作

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <userSettings>
    <tbp.qa.Properties.Settings>
      <setting name="ServiceUri" xdt:Transform="Replace" xdt:Locator="Match(name)">
        <value>localhost1</value>
      </setting>
    </tbp.qa.Properties.Settings>
  </userSettings>
</configuration>