实体框架源代码未使用.NET Framework 4成功编译
本文关键字:成功 编译 Framework NET 框架 源代码 未使用 实体 | 更新日期: 2023-09-27 18:27:10
为了一些跟踪目标,我想在我的项目中引用EF
源代码项目,而不是它的程序集,所以我从CodePlex下载了EF
源代码,并将其添加到我的项目,它通过.NET Framework 4.5
编译得很好,但我的项目在.NET Framework 4
中(我必须使用.NET4
),当我将其目标框架更改为.NET 4
时,它无法成功编译,我得到了一些错误,例如:
错误29找不到类型或命名空间名称"DatabaseGeneratedOption"(是否缺少using指令或程序集引用?)C:''Users''8060509''Downloads''entityframework-899f1fb43a0d92c22ea381edafc50a350e391a5a''src''entityframework''ModelConfiguration''Configuration''Properties''Primitive''Api''BinaryPropertyConfiguration.cs 102 13 entityframework
和
错误1找不到类型或命名空间名称"ColumnAttribute"(是否缺少using指令或程序集引用?)C:''Users''8060509''Downloads''entityframework-899f1fb43a0d92c22ea381edaf50a350e391a5a''src''entityframework''ModelConfiguration''Control''Configuration''Property''ColumnAttributeConvention.cs 13 61 entityframework
以及…
解决方案是什么?
不要更改"调试"或"发布"配置的目标框架。实体框架已经设置了可用的"DebugNet40"answers"ReleaseNet40"配置,您应该使用它们。除了设置目标框架外,这些配置还定义了所需的宏,EF使用这些宏来知道要在.NET 4.0版本中包含哪些代码。
我认为DatabaseGeneratedOption
在EF 4.5之前不存在。将您的目标框架更改为4.5,它应该会做得很好。