【问题标题】:EF 4.3.1 with VS 2011EF 4.3.1 与 VS 2011
【发布时间】:2012-03-11 06:19:52
【问题描述】:

我需要知道是否可以在 VS 2011 中使用最新版本的 EF (4.3.1) 而无需按照here 所述安装这些 CTP 组件。

我安装了这些组件,但我删除了它们,从那时起我无法将新的 edmx 文件添加到 .net 4 目标项目;它抱怨缺少对 System.Data.Entity 的引用。

我需要重新安装 VS 2011 吗?

【问题讨论】:

    标签: entity-framework edmx


    【解决方案1】:

    删除并重新安装 Visual Studio 后,我仍然无法将错误变为红色,因此我使用进程监视器记录 Visual Studio 使用 System.Data.Entity 作为路径过滤器所做的事情,结果发现 Visual Studio 正在读取来自

    C:\Windows\Microsoft.NET\assembly\GAC_MSIL\policy.4.0.system.data.entity v4.0_0.0.0.0__b77a5c561934e089\policy.4.0.system.data.entity.config

    绑定到

    System.Data.Entity.dll v 4.2.0.0


    一旦我清除了文件,VS 就像魅力一样工作。

    CTP 卸载忽略了这一点。

    【讨论】:

      【解决方案2】:

      是的,使用 .net 4 应该没有问题,但是使用 .net 4.5 时有一个已知问题列表。您无需重新安装 vs 即可获得实体框架的 4.3.1 版本,只需从 nuget 包库安装它,如果您使用的是 .net 4,一切似乎都可以正常工作。

      在 .net 4.5 上安装 EF4.3.1 时列出的问题包括下列问题。


      Entity Framework 4.x 和 .NET Framework 4.5 的已知问题

      Entity Framework 4.1 到 4.3 在 EntityFramework 程序集中的 System.ComponentModel.DataAnnotations 命名空间。 在 .NET 4.5 中,这些注释被移动到成为 .NET Framework 的一部分 System.ComponentModel.DataAnnotations.Schema 的命名空间 System.ComponentModel.DataAnnotations.dll 程序集。如果您使用的是 EF 4.x 并定位 .NET 4.5 这会导致在不同程序集中具有相同名称的两个数据注释。 因为 .NET Framework 中的注释位于不同的命名空间中,所以我们没有 能够使用类型转发来避免这种冲突。

      可以在 .NET 4.5 上使用 EF 4.x,但我们建议使用最新的预发布版本 EF 5 版本。如果您不使用受影响的数据注释,则不会产生影响 在你的代码上。如果您在 C# 项目中使用数据注释,则可以使用 extern 修饰符以确保您的代码使用来自 EntityFramework.dll 的注释 (http://msdn.microsoft.com/en-us/library/e59b22c5(v=VS.80).aspx)。如果您使用新的 .NET 4.5 中 System.ComponentModel.DataAnnotations.dll 程序集的注释 Code First 不会处理它们。

      受影响的注解是:

      • 复杂类型
      • 数据库生成
      • DatabaseGeneratedOption
      • 外键
      • 逆属性
      • 最大长度
      • 最小长度
      • 未映射

      【讨论】:

      • 谢谢,我以前给过它,但不幸的是它没有用,在我删除 WCF DS CTP 和 EF 2011 年 6 月 CTP 后,我无法再在 VS 2010 和 2011 中添加 edmx 文件,我得到了找不到 System.Data.Entity.dll 4.2.0.0,由于某种原因,VS 并不专注于找到这个 dll。
      • 哦,你是在机器上安装EF包吗?您只需要使用 Nuget 引用它,它将下载特定版本并将其添加到您的项目中
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      相关资源
      最近更新 更多