【发布时间】:2021-05-05 14:48:07
【问题描述】:
我有大约 7 个不同项目的 C# 解决方案,每个项目都有自己的类来访问我们的数据库。现在我将数据库服务器、用户名和密码存储在启动项目的 app.config 文件的 AppSettings 中。
App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key ="dbServer" value="localhost"/>
<add key ="dbUser" value ="admin"/>
<add key ="dbPassword" value ="pw"/>
</appSettings>
...
</configuration>
在同一个启动项目中,我创建了一个类来查询这些值:
public static class DBConfiguration
{
public static String getDBServer
{
get { return ConfigurationManager.AppSettings["dbServer"]; }
}
public static String getDBUser
{
get { return ConfigurationManager.AppSettings["dbUser"]; }
}
public static String getDBPassword
{
get { return ConfigurationManager.AppSettings["dbPassword"]; }
}
}
现在,当我在我的单元测试项目中时,我正在尝试调用 DBConfiguration.getDBServer、DBConfiguration.getDBUser 等,它返回 null。如果我将相同的 appSettings 复制到 UT app.config 中,我会得到结果。我有点困惑这是如何工作的。由于 DBConfiguration 位于启动时 - 对 DBConfiguration 的调用不应该在启动时引用 app.config 吗?
另外,我已经添加了对System.Configuration的引用。
【问题讨论】:
-
查看编辑。我想更多地了解你们面临的需要差异的场景
标签: c# app-config appsettings