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

本文关键字:文件 config 项目 解决方案 | 更新日期: 2023-09-27 18:33:48

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

我的问题是:

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

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

配置文件连接到应用程序域,而不是 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;

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

您可以添加代码以从多个配置文件中提取,但将它们全部放在可执行文件的一个 app.config 中会更干净。

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