发布后未应用Web.Config转换

时间:2016-09-17 03:06:47

标签: visual-studio-2015 web-config transformation

我发现了一些类似的问题,但没有一个似乎对我有帮助。

我在web.config中有以下内容:

<appSettings configSource=".\ConfigDEV\AppSettings.xml" />
  <connectionStrings configSource=".\ConfigDEV\ConnectionStrings.xml" />
  <applicationSettings>
    <StarLight.Properties.Settings configSource=".\ConfigDEV\TaxonomySettings.xml" />
    <Stikeman.MatterDB.Library.Properties.Settings configSource=".\ConfigDEV\MatterDBSettings.xml" />
  </applicationSettings>

我的Web.Release.config中有以下内容:

<appSettings configSource="__AppSettingsPath__" xdt:Transform="Replace" xdt:Locator="Match(configSource)" />
  <connectionStrings configSource="__ConnectionStringsPath__" xdt:Transform="Replace" xdt:Locator="Match(configSource)" />
  <applicationSettings>
    <StarLight.Properties.Settings configSource="__TaxonomySettingsPath__" xdt:Transform="Replace" xdt:Locator="Match(configSource)" />
    <Stikeman.MatterDB.Library.Properties.Settings configSource="__MatterDBSettingsPath__" xdt:Transform="Replace" xdt:Locator="Match(configSource)" />
  </applicationSettings>

如果我在VS2015中发布解决方案(使用“发布”命令),则web.config不会被转换,原始的configSource值仍然存在。

我在这里缺少什么?

任何帮助表示感谢。

感谢, KS

1 个答案:

答案 0 :(得分:0)

要替换configSource,您应该删除xdt:Locator。您可以通过右键单击。\ ConfigDEV \ AppSettings.xml文件进行测试,然后选择预览转换。

<appSettings configSource="__AppSettingsPath__" xdt:Transform="Replace"  />
  <connectionStrings configSource="__ConnectionStringsPath__" xdt:Transform="Replace"  />
  <applicationSettings>
    <StarLight.Properties.Settings configSource="__TaxonomySettingsPath__" xdt:Transform="Replace"  />
    <Stikeman.MatterDB.Library.Properties.Settings configSource="__MatterDBSettingsPath__" xdt:Transform="Replace"  />
  </applicationSettings>

我遇到了同样的问题,不得不删除Locator才能获得替换。