我们的一台开发机器给出了一个错误,说DbContext
没有实现IDisposable
。根据类似的 SO 帖子,这是因为我们没有引用 EF 5。问题程序集有一个*.edmx
使用较旧的 EF 4 构造 ( ObjectContext
) 构建的文件。同样的程序集还有一个新添加*.edmx
的文件,其中包含较新的构造 ( DbContext
)。
不同机器上的不同项目也可以使用DbContext
并且工作正常。所述项目显示以下信息EntityFramework.dll
:
version: 4.4.0.0
Runtime Version: v4.0.30319
我检查了错误的构建机器,它也有相同版本的EntityFramework.dll
.
微软在开发和营销版本命名约定之间存在令人困惑的冲突。那么EF 5是否意味着dll版本应该是5.0?
换句话说,我是在好的构建机器上运行 v4.0 吗?如果是这样,为什么构建成功?