在我的 DataAccess
项目中,我有以下代码:
using (TandAEntities dataContext = new TandAEntities())
{
// Some code
}
这没有错误并且工作正常。
但是在我的单元测试项目中,我有相同的代码,但是编译器给出了一个错误; using 语句中使用的类型必须可隐式转换为 'System.IDisposable'
我按 F12
检查了定义,它确实实现了 IDisposable
,并且有一个 dispose 方法。
我是否遗漏了一些引用资料?
最佳答案
链接重复项中最有可能的答案 - 缺少 using System.Data.Linq
。
其他选项:您在某处有陈旧的 DLL(即安装在 GAC 中)。
如果您不能通过环顾四周并检查 GAC 轻松找到陈旧的 DLL - 将代码更改为使用此类型但编译和调试测试的代码。检查 Debug->Windows->Modules 以了解实际使用的这种类型的程序集的位置。
关于c# - 为什么即使我的类型实现了 IDisposable,Using 语句也会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474009/