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

标签 c# .net visual-studio projects-and-solutions

场景

考虑一个包含 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/

相关文章:

c# - 从未见过的MySQL连接错误

c# - 如何在VSTO项目中注册UDF/RTD

c# - 从 C# 发送 Mandrill 电子邮件

c# - 表达式树中未发生隐式转换

c# - DataAnnotation for Password 的正则表达式

c# - 使用方括号围绕字符串值反序列化 JSON

c# - 非公共(public)事件的 EventInfo.AddEventHandler 的替代方法

c++ - 使用 Visual Studio 2012 分析 c++ win32 控制台应用程序

visual-studio - 调试 > 启动新实例与开始调试相比

visual-studio - 如何在 visual studio 调试控制台中生成 EOF(或 ASCII 0)?