【问题标题】:Applying config transofrmation应用配置转换
【发布时间】:2013-01-29 04:54:32
【问题描述】:

对不起,我在这上面花了太多时间。 我有一个 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>

我做错了什么?

【问题讨论】:

  • 默认情况下配置转换与 web.configs 一起工作(至少在 VS2010 中)您是否正确设置了项目? vishaljoshi.blogspot.hu/2010/05/…
  • 我正在使用 SlowCheetah VS 扩展
  • 好的,那么你有你的原始配置元素名称为setting,但在你的翻译中add。应该是吗? &lt;setting name="ServiceUri" xdt:Transform="Replace" xdt:Locator="Match(name)"&gt; &lt;value&gt;localhost1&lt;/value&gt; &lt;/setting&gt;
  • 天哪,这太容易了,谢谢!

标签: visual-studio msbuild config-transformation


【解决方案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>

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 2013-03-26
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 2017-03-20
    相关资源
    最近更新 更多