【问题标题】:Opening a MVC4 EF5 project created in VS 2012 in 20102010年打开VS 2012创建的MVC4 EF5项目
【发布时间】:2013-01-30 10:57:18
【问题描述】:

我在 VS 2012 的 express edition 中创建了一个项目,它是使用带有枚举的 EF5 Model First 的 MVC4。现在尝试在 VS 2010 中运行相同的项目时出现此错误。

错误 1 ​​错误 5:命名空间“http://schemas.microsoft.com/ado/2008/09/edm”中的元素“架构”在命名空间“http://schemas.microsoft.com/ado/2008/09/edm”中具有无效的子元素“EnumType”。预期的可能元素列表:命名空间“http://schemas.microsoft.com/ado/2008/09/edm”中的“Using、Association、ComplexType、EntityType、Function、EntityContainer”以及命名空间“##other”中的任何元素。

VS2010 好像不支持枚举?但是我检查了正在使用的EF版本,它仍然是v5......所以我很困惑。

有什么想法吗?

【问题讨论】:

  • 我读到 EF5 具有 .net 4.5 依赖项。 vs 2010 仅处理 .net 4.0。
  • 同样适用于 MVC 4,它依赖于 .net 4.5,因此与 vs2010 不兼容。
  • @tschmit007 好的,您的第二条评论是错误的,我在 VS 2010 中使用 MVC4 并且它工作正常,唯一不工作的是需要 .NET 4.5 / VS 2012 的枚举
  • 我指的是here 可能你没有使用 MVC 4 的特定部分?
  • @tschmit007 也许它像 EF,锡上写着 5,但里面有别的东西……比如 4.4。也许 MVC4 没有使用它的全部功能,但它确实有效。

标签: visual-studio-2010 entity-framework enums visual-studio-2012 compatibility


【解决方案1】:

当您使用 vs 2010 定位 .NET 4.0 时,实体框架将引用 4.4。

4.4来自EntityFramework.dll时的汇编版本 您将 EntityFramework 5.0 安装到以 .NET 为目标的项目中 框架 4.0。这只是运行时加载方式的副作用 并绑定到程序集,并且绝不反映 产品。

更多信息请查看There is no such thing as Entity Framework 4.4

兼容性

某些功能仅在编写应用程序时可用 针对 .NET 4.5。这包括枚举支持、空间数据类型、 表值函数和性能改进。如果你是 以 .NET 4.0 为目标,您仍然可以获得所有错误修复和其他小问题 改进。

更多信息请查看兼容性部分下的EF5 Release

希望对你有帮助。

【讨论】:

  • 是的,从 VS 2010 开始以 .NET 4.5 为目标是不可能的(或骇人听闻的),这意味着您还需要 2012。
  • @MuhammadA 是的。很高兴听到它有帮助!
猜你喜欢
  • 2013-03-02
  • 2012-09-15
  • 2012-01-14
  • 2012-10-30
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-11-18
  • 2012-08-13
相关资源
最近更新 更多