实体框架源代码未使用.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

以及…

解决方案是什么?

实体框架源代码未使用.NET Framework 4成功编译

不要更改"调试"或"发布"配置的目标框架。实体框架已经设置了可用的"DebugNet40"answers"ReleaseNet40"配置,您应该使用它们。除了设置目标框架外,这些配置还定义了所需的宏,EF使用这些宏来知道要在.NET 4.0版本中包含哪些代码。

我认为DatabaseGeneratedOption在EF 4.5之前不存在。将您的目标框架更改为4.5,它应该会做得很好。