2014-10-20 60 views
0

我想引用EF源代碼的項目,而不是它的組件在我的項目的一些跟蹤的目標,所以我下載EF源代碼從CodePlex,並將其添加到我的項目,它通過.NET Framework 4.5編譯好,但我的項目是在.NET Framework 4(我必須留在.NET4),當我改變它的目標框架.NET 4它不能成功編譯,我得到了一些錯誤,例如:實體框架的源代碼不會與.NET框架編譯成功4

錯誤29找不到類型或命名空間名稱'DatabaseGeneratedOption'(您是否缺少using指令或程序集引用? )C:\用戶\ 8060509個\下載\的EntityFramework-899f1fb43a0d92c22ea381edafc50a350e391a5a \ SRC \的EntityFramework \ ModelConfiguration \配置\屬性\原始\阿比\ BinaryPropertyConfiguration.cs 102 13的EntityFramework

錯誤1無法找到類型或命名空間名'ColumnAttribute'(缺少使用指令或程序集引用嗎?)C:\ Users \ 8060509 \ Downloads \ entityframework-899f1fb43a0d92c22ea381edafc50a350e391a5a \ src \ EntityFramework \ ModelConfiguration \ Conventions \ Configuration \ Property \ ColumnAttributeConvention .cs 13 61 EntityFramework

和 ...

什麼是解決方案?

+0

您有什麼證據表明您下載的源代碼版本支持.net 4?換句話說,是否有理由相信你所嘗試的實際上是可能的? – 2014-10-20 08:15:38

+1

@DavidHeffernan官方的NuGet包不支持.NET 4.0。 – hvd 2014-10-20 08:17:39

回答

2

不要更改「Debug」或「Release」配置的目標框架。實體框架已經使用了您應該使用的「DebugNet40」和「ReleaseNet40」配置。除了設置目標框架之外,這些配置還定義了EF用於知道哪些代碼包含在.NET 4.0版本中的所需宏。

+0

在哪裏以及如何配置'EF'以使用'DebugNet40'或'ReleaseNet40'? – Masoud 2014-10-20 08:28:19

+2

如果您在VS中構建,或者通過在命令行上指定配置(如果使用msbuild構建 – 2014-10-20 08:32:08

0

我認爲DatabaseGeneratedOption在4.5之前的EF中不存在。將你的目標框架改爲4.5,它應該做得很好。

+0

正如我在我的問題中所說的,我必須使用'.NET4'。 – Masoud 2014-10-20 08:11:18