了解多项目(可互操作).NET解决方案中的配置文件

脚本

考虑一个包含4个项目的解决方案:

1)ProjectSql:这是一个项目,其编译输出设置为Library ,它负责访问SqlServer数据库并执行某些操作。 最终的库将能够提供API,以便管理最终应用程序的持久性。

2)ProjectWCF:这是一个项目,其编译输出设置为Library ,它负责定义服务合同,数据合同和服务实现,以便让我的应用程序托管服务。

3)ProjectMiscellaneous:这是一个项目,其编译输出设置为Library ,并且负责为其他事物提供API。

4)ProjectApp:这是一个项目,其编译输出设置为Executable (Exe) ,它负责创建我的应用程序的业务逻辑。 假设这是一个简单的控制台应用程序。 这个项目引用了所有其他项目。

假设:考虑每个项目都有自己的配置文件。 例如,ProjectSql定义连接字符串以连接到数据库等等……

问题:配置

好吧,我的问题如下:考虑我的应用程序项目ProjectApp使用ProjectSql,好吧,每次调用ProjectSql中的操作都需要连接到数据库,在这些调用中引用ProjectSql配置文件来获取连接字符串(一个简单的调用System.Configuration.ConfigurationManager.... )。

我认为如果我的ProjectApp使用自己的配置文件调用ProjectSql中的操作,那么该操作将引用它自己的配置文件。

我的问题是:

我说的是真的吗?

配置文件是否尊重项目层次结构。

可以告诉System.Configuration.ConfigurationManager要读取哪个配置文件。 任何给定的应用程序通常都有一个配置,如appname.exe.config或web.config。

所以问题的答案是否定的。

当您为任何类库调用System.Configuration.ConfigurationManager时,它是读取的ProjectApp.exe.config文件。