我正在使用 .NET 4.5 构建一个 ASP.NET Web 表单网站。
错误...
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"
但这只会导致“未指定源文件”,这同样令人困惑,因为源文件是按指示指定的(here 和 here)。
我确实注意到错误是引用 net40 文件夹中的 EF dll 而不是 net45 文件夹中。我想如果我使用 net45 版本问题会自行解决,但我不知道如何更改该引用。我将 packages.config 文件中的“targetFramework”属性更改为 EntityFramework 包,但这没有任何区别。
我有点卡住了,因为这两种解决方案似乎都没有做任何事情。
我环顾四周,发现这里有很多帖子,人们在这些帖子中处理过类似的问题,但没有收到任何回复。我希望有人可以提供帮助!
谢谢
G
最佳答案
如您所见,您正在 .Net 4.5 上使用 .Net 4.0 版的 Entity Framework。
那是行不通的。
从 NuGet 重新安装 EF,它应该可以正常工作。
关于c# - 类型定义存在于两个库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791930/