我有一个关于7个不同项目的C#解决方案,每个项目都有自己的类来访问我们的数据库。现在,我将数据库服务器,用户名和密码存储在启动项目的app.config文件的AppSettings中。在解决方案中的多个项目中的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
的引用。
请参阅编辑。我希望看到更多关于你们所面临的需要改变的情景 –