类型定义存在于两个库中

我正在使用.NET 4.5构建ASP.NET Web Forms网站。

错误 …

The type 'System.ComponentModel.DataAnnotations.Schema.ForeignKeyAttribute' exists in both 'f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll' and 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll' 

我试图使用…来对库进行别名…

 csc /r:EF_DataAnnotations="f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll" /r:CM_DataAnnotations="c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll" 

但这只会导致“无源文件指定”同样令人困惑,因为源文件被指定为指示( 此处和此处 )。

我注意到该错误引用了net40文件夹中的EF dll而不是net45文件夹。 我想如果我使用net45版本问题会自行解决,但我不知道如何更改该引用。 我将“targetFramework”属性更改为packages.config文件中的EntityFramework包,但这没有任何区别。

我有点卡住,因为这两个解决方案似乎都没有做任何事情。

我环顾四周,在这里发现了一些post,人们已经处理过类似的问题,但没有收到任何答复。 我希望那里有人可以提供帮助!

谢谢

G

正如您所注意到的,您正在.Net 4.5上使用.Net 4.0版本的Entity Framework。
那不行。

从NuGet重新安装EF,它应该可以正常工作。

其他选项对我不起作用。 做了什么工作进入\ packages \ EntityFramework.6.1.3 \ lib \并删除net40目录,然后进行全部重建。