在同一解决方案中集中多个项目的连接字符串

时间:2013-04-22 19:02:01

标签: c# connection-string app-config

我目前在我的解决方案中有三个项目,它们都有自己的App.config文件,并且具有相同的连接字符串。

有没有办法合并连接字符串/ app.config文件,以便我只需要对一个位置进行更改?

3 个答案:

答案 0 :(得分:16)

您可以在解决方案中的多个项目之间共享连接字符串,如下所示:

  1. 在解决方案文件夹下创建包含连接字符串的ConnectionStrings.config文件,此文件应仅包含connectionStrings

  2. 部分
  3. 在您的项目中,将此配置文件添加为链接(添加现有项目,添加为链接)

  4. 选择添加的文件,并将其属性Copy to Output Directory设置为Copy alwaysCopy if newer
  5. 在项目的App.config中,使用ConnectionStrings.config属性指向链接的configSource文件: <connectionStrings configSource="ConnectionStrings.config" />
  6. <强> ConnectionStrings.config

    <connectionStrings>
        <add name="myConnStr" connectionString="Data Source=(local); Initial Catalog=MyDB;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
    </connectionStrings>
    

    <强>的App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        ...
        <connectionStrings configSource="ConnectionStrings.config" />
        ...
    </configuration>
    

    Read more details...

答案 1 :(得分:3)

有几种方法可以做到:

  1. 将常见配置设置放在machine.config中,如here
  2. 所示
  3. 将常用配置设置放在中心文件中,并链接到每个项目的app.config中,如图所示here
  4. 将配置设置存储在注册表中
  5. 对我来说,我总是使用上一个解决方案:) 祝你好运!

答案 2 :(得分:3)

首先,看一下这篇文章。它描述了如何在多个项目之间共享相同的app.config。

How to Share App.config?

其次,请看另一篇文章,其中介绍了如何让不同的app.config文件引用包含连接字符串的单个共享xml文件。

Use XML includes or config references in app.config to include other config files' settings