c# - 类型定义存在于两个库中

标签 c# asp.net webforms asp.net-4.5

我正在使用 .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"

但这只会导致“未指定源文件”,这同样令人困惑,因为源文件是按指示指定的(herehere)。

我确实注意到错误是引用 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/

相关文章:

c# - 如何在linq to sql中插入

c# - 加载没有母版页的内容页

c# - Webforms 中是否有一种方法可以在页面加载时判断回发是由 Ajax 请求引起的还是由常规的完整回发引起的?

c# - 为什么获取 Http 请求和响应为时已晚

c# - using 会在 null 上工作吗?

c# - 确定哪个文本框触发了文本更改事件

asp.net - 使用 jqGrid 和 asp.net web 表单(免费版)

c# - 是否可以在文件中保存有关 mdf 文件的元数据?

c# - 是否有 WebMethod 的替代方案以绕过回发但访问 Session

asp.net - 子域 url 重定向到主 url