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