Web.Config 将单个 AppSettings 转换为 ConfigSource

Ted*_*Ted 2 asp.net xslt web-config web.config-transform

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

基本上是这样的:

<appSettings>
    <add key="setting1" value="devVal1"></add> 
    <add key="setting2" value="devVal2"></add>
    <add key="setting3" value="devVal3"></add>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

对此:

<appSettings configSource="clientSettings.config" />
Run Code Online (Sandbox Code Playgroud)

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

<appSettings xdt:Transform="SetAttributes(configSource)" configSource="clientSettings.config"/>
Run Code Online (Sandbox Code Playgroud)

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

Ted*_*Ted 5

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

<appSettings xdt:Transform="SetAttributes(configSource)" configSource="clientSettings.config">
    <add xdt:Transform="RemoveAll"/>
</appSetting>
Run Code Online (Sandbox Code Playgroud)

希望这对将来的人有用(如果只是作为一个例子,说明为什么您应该在点击“提问”按钮之前做 30 分钟的额外工作)...