.NET App.config。如何替换文件属性?

时间:2017-06-08 08:01:37

标签: .net app-config slowcheetah

以下是目前情况的简短摘要: 在我的解决方案(控制台应用程序)中,我使用app.config文件,其条目如下:

< appSettings file =“Additional.config”> 在我们的生产环境中,此文件由单独的例程提供,我们不希望将其放在项目文件存储库中。我们还需要一种在dev环境中运行解决方案的便捷方法。

我们想到了使用SlowCheetach替换文件属性的想法。它可以很好地替换键值条目但我们无法使其正确运行。

有没有办法用SlowCheetach或任何其他轻量级工具替换 file 属性?我们真的想避免使用构建脚本来修改app.config输出。

1 个答案:

答案 0 :(得分:0)

下面的解决方案无法正常工作,因为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)">

真正的解决方案:

事实证明,你可以简单地在表格中使用变换:

   <appSettings xdt:Transform="RemoveAttributes(file)">

将仅删除传递给RemoveAttributes的属性,并保留配置的其余部分。

有关可能的转换属性的更多信息,请参阅here