在针对我的DAL 运行VS2008 单元集成测试时,我发现程序集正在读取machine.config
而不是程序集app.config
.
这是调用堆栈的纲要:
单元测试项目具有调用DataLayer项目的方法
MyDataLayer
class继承自基类.调用方法GetStuff()
基类正在使用System.Configuration
.都好.
在代码中调用此属性:ConfigurationManager.ConnectionStrings["MyConnStr"]
实际上返回null,因为它显然没有找到.
检查 MyDataLayer
班级,是的,MyConnStr就在那里.
检查集合ConnectionStrings
,是的,它有一个连接字符串.它是machine.config中的那个C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
我不确定为什么我的DAL app.config
被它取代了machine.config
任何帮助表示赞赏!
不确定这是否适用于您,但您需要确保配置字符串位于Unit Test Project的app.config中,而不是DataLayer项目中.