为什么即使我的类型实现IDisposable,Using语句也会出错?

时间:2013-01-23 06:52:41

标签: c# entity-framework unit-testing

在我的DataAccess项目中,我有代码:

using (TandAEntities dataContext = new TandAEntities())
{
    // Some code
}

这没有错误,工作正常。

但在我的单元测试项目中,我有相同的代码,但编译器出错了; using语句中使用的类型必须可以隐式转换为'System.IDisposable'

我按F12检查了定义,它确实实现了IDisposable,并且有一个dispose方法。

我可能错过了一些参考文献吗?

1 个答案:

答案 0 :(得分:12)

最有可能在链接副本中回答 - 缺少using System.Data.Linq

其他选项:您在某处有过时的DLL(即安装在GAC中)。

如果你不能通过环顾四周并检查GAC来轻松找到过时的DLL - 将代码更改为使用此类型但编译和调试测试的内容。检查Debug-> Windows->模块以获取实际使用的此类型的程序集的位置。