web.config转换无法正常工作

时间:2013-06-27 19:52:35

标签: visual-studio-2012 web-config

我们在VS 2012中创建了一个网站。我们右键单击了我们的web.config文件并选择了“添加配置转换”并创建了web.config的发布和调试版本。

其中我们在<appSettings>的调试版和发布版中的web.config部分添加了一些新条目:

  <appSettings>
    <add key="username" value="user" xdt:Transform="Insert" xdt:Locator="Match(key)"/>
    <add key="password" value="pwd" xdt:Transform="Insert" xdt:Locator="Match(key)"/>
    <add key="GET" value="https://somewhere.com/url1" xdt:Transform="Insert" xdt:Locator="Match(key)"/>
    <add key="POST" value="https://somewhere.com/url2" xdt:Transform="Insert" xdt:Locator="Match(key)"/>

  </appSettings>

我们已经尝试了各种变换类型,包括'Insert'和'SetAttribute'。到目前为止,没有人产生在构建之后将这些新的appSettings条目添加到web.config的预期结果。

我们是否需要在web.config中为它们添加占位符条目,还是我们缺少另一个步骤?

[编辑]上面的appSettings包含在<configuration>的调试和发布版本中的web.config元素中。

1 个答案:

答案 0 :(得分:1)

我的猜测是插入和定位器不能一起工作。如果您正在进行插入操作,则不要尝试在任何内容上进行匹配。如果您尝试进行替换或设置某些属性,则需要进行定位器匹配。如果你正在进行插入,你不需要寻找某些东西(使用Locator),因为它是全新的。

简而言之,如果这是一个新条目,请保留插入,删除定位。

有意义吗?