c# - 无法从 App.config 检索值
问题描述
我已经建立了一个测试项目,就像我通常在项目的根目录中使用 App.config 文件一样。然后我为不同类型的测试设置文件夹,例如 ServiceTests 等。
我在该文件夹中的文件中进行了第一组测试,并尝试引用 App.config 中的 appSettings 部分,但没有得到任何回复。我尝试了以下方法:
var setting = ConfigurationManager.AppSettings["MySetting"];
以及更广泛的:
var settings = ConfigurationManager.GetSection("appSettings") as AppSettingsSection;
在这两种情况下,我都会返回 null。有没有人有什么建议?
解决方案
配置管理器不读取 DLL 的 app.config,只读取正在运行的可执行文件(在本例中为测试运行程序)。因此,您的测试程序集的 app.config 没有被找到/使用。
您必须手动查找和加载 XML 并自行解析。
或者,为了对单元测试更加友好,将系统配置隐藏在您自己的界面/服务后面,使用主应用程序中的 app.config 设置并在单元测试中使用测试特定设置对其进行模拟
推荐阅读
- html - 为导航栏添加我自己的菜单图标?
- java - Java如何将二维数组元素初始化为null
- angular - Angular 网格的 Kendo UI 中的过滤器菜单下拉菜单
- debezium - CDC-Debezium 在链中捕获数据
- angularjs - 用户选择后的 API 调用
- scala - Scala 将 Array[String] 的列连接成单个 Array[String]
- encryption - 使用带加密的 HSQLDB
- swift - 使用网络调用写入时,键值对在 swift 4 中自动删除
- angular - Angular - 从父组件到子组件的确认事件
- android - 在 iOS 中打开和隐藏键盘时管理屏幕显示和底部按钮,与 Android 相同