Web.Config 将单个 AppSettings 转换为 ConfigSource

Web.Config Transform Individual AppSettings to ConfigSource

我想将本地 web.config 文件的 appsettings 部分从本地开发工作的一堆单独设置转换为 configSource 文件路径属性发布到客户端服务器。

基本上是这样的:

<appSettings>
    <add key="setting1" value="devVal1"></add> 
    <add key="setting2" value="devVal2"></add>
    <add key="setting3" value="devVal3"></add>
</appSettings>

对此:

<appSettings configSource="clientSettings.config" />

此部分解决方案添加了 configSource 属性。

<appSettings xdt:Transform="SetAttributes(configSource)" configSource="clientSettings.config"/>

但我也不确定如何删除所有单独的设置(我认为 configSource 无论如何都会覆盖它们,但我宁愿根本不要它们,以避免在我客户的每个 web.config 文件中都有不相关的开发设置)

多一点毅力让我找到答案。将 "RemoveAll" 转换应用于 appSetting.

中的 add 元素
<appSettings xdt:Transform="SetAttributes(configSource)" configSource="clientSettings.config">
    <add xdt:Transform="RemoveAll"/>
</appSetting>

希望这对以后的人有用(如果只是作为一个例子,为什么你应该在到达 'Ask Question' 按钮之前多做 30 分钟)...