app.config下的重复键

时间:2016-10-24 17:08:58

标签: c# .net web-config connection-string app-config

我有一个项目,我为每个环境维护连接字符串的单独app.config文件,例如,dev env的Dev.config,QA的QA.config等。我有一个主app.config文件我只需将env键入“Dev”或“QA”,并激活env特定的连接字符串,如下所示。

Dev.config

<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
   <add name="connection1" connectionString="<dev_string>" />
   <add name="connection2" connectionString="<dev_string>"/>
</connectionStrings>

QA.config

<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
   <add name="connection1" connectionString="<qa_string>" />
   <add name="connection2" connectionString="<qa_string>"/>
</connectionStrings>

的App.config

<connectionStrings configSource="ConnectionStrings\Dev.config">
</connectionStrings> 

但是,现在我有一个需求。在哪里实现跨环境功能。最好的办法是什么?我可以通过给它一个env特定名称来添加主app.config中的每个连接字符串,但我觉得这可能不是最好的方法。

那么,是否还有一种方法可以保留env特定的配置文件并在主app.config中的所有环境中加载所有连接字符串,以避免出现重复错误?

提前感谢所有帮助...

1 个答案:

答案 0 :(得分:0)

如果我理解你的话,我可能会建议你使用默认的xdt:Transform语法,就像在Web.Config / Debug / Release中一样。对于app.config文件,您可以使用类似此包https://visualstudiogallery.msdn.microsoft.com/7bc82ddf-e51b-4bb4-942f-d76526a922a0

的内容