【问题标题】:.NET App.config. How to replace file attribute?.NET 应用程序配置。如何替换文件属性?
【发布时间】:2017-11-09 19:56:33
【问题描述】:
以下是当前情况的简短摘要:
在我的解决方案(控制台应用程序)中,我使用 app.config 文件,其条目如下:
在我们的生产环境中,这个文件是由单独的例程提供的,我们不想把它放在项目文件存储库中。我们仍然需要一种方便的方式在开发环境中运行解决方案。
我们想出了一个想法,用SlowCheetach 替换 file 属性。它可以很好地替换键值条目,但我们无法使其正常运行。
有没有办法用SlowCheetach 或任何其他轻量级工具替换 file 属性?我们真的想避免使用构建脚本来修改 app.config 输出。
【问题讨论】:
标签:
.net
app-config
slowcheetah
【解决方案1】:
以下解决方案无法正常工作,因为 id 不是有效的架构元素。真正的解决方案在底部。
我想出了一个简单的方法来完成这个。所需要做的就是向 appSettings 添加另一个属性并将其设置为匹配选择器,以便 app.config 中的条目如下所示:
<appSettings file="Additional.config" id="appconfig">
和 App.Debug.config 中的那个:
<appSettings id="appconfig" file="New/Path/To/Additional.config" xdt:Transform="Replace" xdt:Locator="Match(id)">
真正的解决方案在这里:
原来你可以简单的在form中使用transform:
<appSettings xdt:Transform="RemoveAttributes(file)">
这将仅删除传递给 RemoveAttributes 的属性,并保持其余配置不变。
更多关于可能的变换属性可以阅读here