Web.Config 发布后未应用转换
Web.Config transformation not applied after publish
我发现了一些类似的问题,但 none 似乎对我有所帮助。
我的 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 中发布解决方案(使用 Publish 命令),web.config 不会被转换并且原始 configSource 值仍然存在。
我在这里错过了什么?
感谢任何帮助。
谢谢,
KS
为了替换 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>
我遇到了同样的问题,必须删除定位器才能获得替代品。
我发现了一些类似的问题,但 none 似乎对我有所帮助。
我的 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 中发布解决方案(使用 Publish 命令),web.config 不会被转换并且原始 configSource 值仍然存在。
我在这里错过了什么?
感谢任何帮助。
谢谢, KS
为了替换 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>
我遇到了同样的问题,必须删除定位器才能获得替代品。