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

C# 实体框架源代码未使用.NET Framework 4成功编译,c#,entity-framework,.net-4.0,.net-4.5,C#,Entity Framework,.net 4.0,.net 4.5,我想引用EF源代码项目,而不是我项目中的程序集,以实现一些跟踪目标,因此我从中下载了EF源代码,并将其添加到我的项目中,它通过.netframework4.5编译得很好,但我的项目位于.netframework4中(我必须继续使用.NET4),当我将其目标框架更改为.NET 4时,它无法成功编译,我收到一些错误,例如: 错误29找不到类型或命名空间名称“DatabaseGenerateOption”(是否缺少using指令或程序集引用?)C:\Users\8060509\Downloads\en

我想引用
EF
源代码项目,而不是我项目中的程序集,以实现一些跟踪目标,因此我从中下载了
EF
源代码,并将其添加到我的项目中,它通过
.netframework4.5
编译得很好,但我的项目位于
.netframework4
中(我必须继续使用
.NET4
),当我将其目标框架更改为
.NET 4
时,它无法成功编译,我收到一些错误,例如:

错误29找不到类型或命名空间名称“DatabaseGenerateOption”(是否缺少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-899f1fb43a0d92c22ea381edafc50a350e391a5a\src\entityframework\ModelConfiguration\Conventions\Configuration\Property\ColumnAttributeConvention.cs 13 61 entityframework


解决方案是什么?

我认为
数据库生成选项在4.5之前的EF中不存在。将目标框架更改为4.5,它应该会很好。

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

正如我在问题中所说,我必须使用
.NET4
。您有什么证据表明您下载的源代码版本支持.NET 4?换句话说,是否有任何理由相信您所尝试的实际上是可能的?@DavidHeffernan官方NuGet软件包确实支持.NET 4.0。如果您在VS中构建,我可以在何处以及如何配置
EF
以使用
DebugNet40
ReleaseNet40
,或者,如果使用msbuild生成,则在命令行上指定配置