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

时间:2014-10-20 05:53:17

标签: c# entity-framework .net-4.0 .net-4.5

我希望在我的项目中引用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'找不到(你错过了使用指令或程序集引用吗?)C:\ Users \ 8060509 \ Downloads \ entityframework-899f1fb43a0d92c22ea381edafc50a350e391a5a \ src \ EntityFramework \ ModelConfiguration \ Conventions \ Configuration \ Property \ ColumnAttributeConvention.cs 13 61 EntityFramework

和 ...

解决方案是什么?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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