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

Mit*_*all 13 c# connection-string app-config

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

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

Sta*_*ked 20

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

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

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

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

ConnectionStrings.config

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

App.config中

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    ...
    <connectionStrings configSource="ConnectionStrings.config" />
    ...
</configuration>
Run Code Online (Sandbox Code Playgroud)

更多的细节.......

  • 好的答案,如果要复制到输出目录,则可能需要添加“ bin \”前缀。&lt;connectionStrings configSource =“ bin \ ConnectionStrings.config” /&gt; (2认同)

Oba*_*ama 4

有几种方法可以做到这一点:

  1. 将常用配置设置放入 machine.config 中,如下所示
  2. 将通用配置设置放在一个中心文件中,并链接到每个项目的 app.config 中的该设置,如下所示
  3. 将配置设置存储在注册表中

对我来说,我总是使用最后一个解决方案:)祝你好运!

  • 链接又坏了。你能解决这个问题吗? (6认同)