如何在多项目解决方案中打开特定的.config文件?

时间:2014-12-09 19:34:49

标签: c# .net

我正在处理的解决方案由多个项目组成,其中一个是启动项目(Windows窗体,.exe项目)并且绑定了app.config文件。至少有一个项目(所有其他项目是.DLL),处理数据库,还需要读取app.config设置(读取数据库连接字符串)。我想将所有应用程序设置集中在一个app.config文件中。

我的问题是:

  1. 根据我的理解,应用程序配置文件是按项目创建的,而不是按解决方案创建的?
  2. 要从DLL访问app.config,我应该使用ConfigurationManager.OpenExeConfiguration(string exePath),其中string exePath是启动项目.exe的位置吗?

3 个答案:

答案 0 :(得分:1)

Visual Studio为每个项目创建一个app.config,但仅提供存储该程序集的配置项的位置(因为它可以由多个正在执行的程序集使用)。这些配置项应该合并到执行程序集的app.config中。

可以添加代码以从多个配置文件中提取,但它只是将它们全部放在一个app.config中以供可执行文件使用。

答案 1 :(得分:1)

配置文件连接到应用程序域,而不是DLL。您可以使用ConfigurationManager类直接访问您的应用程序(比如说Web应用程序或控制台应用程序)配置(不需要OpenExeConfiguration)。

如果您需要在应用程序的不同部分使用不同的连接字符串,则可以在配置中添加多个连接字符串

<connectionStrings> <add name="Connection1" connectionString="Data Source=..." /> <add name="Connection2" connectionString="Data Source=..." /> </connectionStrings>

并按名称访问它们:

var connectionstring1 = ConfigurationManager.ConnectionStrings["Connection1"].ConnectionString;
var connectionstring2 = ConfigurationManager.ConnectionStrings["Connection2"].ConnectionString;

答案 2 :(得分:0)

您需要将所有项目特定配置(如连接字符串等)复制到主app.config中。