场景
考虑一个包含 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 中的操作,那么该操作将引用其自己的配置文件。
我的问题是:
我说的,是真的吗???
配置文件是否遵循项目层次结构。
最佳答案
System.Configuration.ConfigurationManager 可以被告知读取哪个配置文件。任何给定的应用程序通常都有一个配置,如 appname.exe.config 或 web.config。
所以你的问题的答案是否定的。
当您为任何类库调用 System.Configuration.ConfigurationManager 时,读取的是 ProjectApp.exe.config 文件。
关于c# - 了解多项目(可互操作).NET 解决方案中的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6340473/