考虑制定一个包含4个项目的解决方案:
1)ProjectSql:这是一个项目,其编译输出设置为Library
,它负责访问SqlServer数据库并执行某些操作。最终的库将能够提供API,以便管理最终应用程序的持久性。
2)ProjectWCF:这是一个项目,其编译输出设置为Library
,它负责定义服务合同,数据合同和服务实现,以便让我的应用程序托管服务。
3)ProjectMiscellaneous:这是一个项目,其编译输出设置为Library
,这是负责为其他事情提供API。
4)ProjectApp:这是一个项目,其编译输出设置为Executable (Exe)
,这负责创建应用程序的业务逻辑。假设这是一个简单的控制台应用程序。这个项目引用了所有其他项目。
假设:考虑每个项目都有自己的配置文件。例如,ProjectSql定义连接到数据库的连接字符串,依此类推......
好吧,我的问题如下:考虑我的应用程序项目ProjectApp使用ProjectSql,好吧,每次调用ProjectSql中的操作都需要连接到数据库,在这些调用中引用ProjectSql配置文件来获取连接字符串(a简单调用System.Configuration.ConfigurationManager....
)。
我认为如果我的ProjectApp使用自己的配置文件调用ProjectSql中的操作,那么该操作将引用它自己的配置文件。
我的问题是:
我说的是,这是真的吗?
配置文件是否尊重项目层次结构。
答案 0 :(得分:2)
可以告诉System.Configuration.ConfigurationManager要读取哪个配置文件。任何给定的应用程序通常都有一个配置,如appname.exe.config或web.config。
所以问题的答案是否定的。
当您为任何类库调用System.Configuration.ConfigurationManager时,它是读取的ProjectApp.exe.config文件。