15

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

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

4

3 回答 3

22

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

  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>

应用程序配置

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

阅读更多细节......

于 2016-11-06T15:07:13.430 回答
3

有几种方法可以做到:

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

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

于 2013-04-22T19:08:42.370 回答
3

首先,看看这个帖子。它描述了如何在多个项目之间共享相同的 app.config。

如何共享 App.config?

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

在 app.config 中使用 XML 包含或配置引用来包含其他配置文件的设置

于 2013-04-22T19:13:26.810 回答