【问题标题】:EntityFramework 5 installEntityFramework 5 安装
【发布时间】:2013-01-29 13:57:30
【问题描述】:

我在 VS 2010 中创建了一个 ASP.NET MVC4 项目,然后决定我想要 4.5 框架,因此在 VS 2012 中打开该项目并将目标框架更改为 4.5。

我得到了一些编译错误,我很确定这是由于引用了低于版本 5 的 EntityFramework 版本造成的。

例如:

错误 2 找不到类型或命名空间名称“表”(您是否缺少 using 指令或程序集引用?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Models \AccountModels.cs 21 6 MvcApplication1

以下是我的 Web.config 文件中当前的条目:

<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

和...

<assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral,        PublicKeyToken=b77a5c561934e089" />
</assemblies>

我没有运气将 EntityFramework 引用更改为更高版本,因为它没有出现在框架列表中。

根据给有类似问题的人的一些建议,我尝试使用包管理器控制台来解决问题。你可以在下面看到我遇到的麻烦。

有人知道如何解决这个问题吗?

我的工作确实需要第 5 版。

PM> Uninstall-Package entityframework 成功移除 PersonalityTest_002 中的“EntityFramework 5.0.0”。目录不是 空。

已成功卸载“EntityFramework 5.0.0”。

PM> Install-Package entityframework Install-Package : 远程名称 无法解决:'nuget.org' 在 line:1 char:16 + 安装包 已经安装包 EntityFramework 'EntityFramework 5.0.0' 安装。目录不为空。

已成功卸载“EntityFramework 5.0.0”。安装包: 未能添加对“EntityFramework”的引用。在行:1 字符:16 + 安装包 安装包 entityframework 'EntityFramework 5.0.0' 已经 安装。目录不为空。

已成功卸载“EntityFramework 5.0.0”。安装包: 未能添加对“EntityFramework”的引用。在行:1 字符:16 + 安装包 已经安装包 EntityFramework 'EntityFramework 5.0.0' 安装。目录不为空。

已成功卸载“EntityFramework 5.0.0”。安装包: 未能添加对“EntityFramework”的引用。在行:1 字符:16 + 安装包 Uninstall-Package EntityFramework -Force Uninstall-Package : 找不到包“EntityFramework”。在行:1 字符:19 + 卸载包 已经安装包 EntityFramework 'EntityFramework 5.0.0' 安装。目录不为空。

已成功卸载“EntityFramework 5.0.0”。安装包: 未能添加对“EntityFramework”的引用。在行:1 字符:16 + 安装包

【问题讨论】:

    标签: asp.net-mvc-4 visual-studio-2012 nuget entity-framework-5


    【解决方案1】:
    导致错误的

    TableAttribute来自:

    Assembly System.ComponentModel.DataAnnotations.dll, v4.0.0.0
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll
    

    因此您可能会在项目中错过对该程序集的引用。

    【讨论】:

    • 感谢 Nenad,我最终放弃了,创建了一个新的 VS 2012 项目。
    【解决方案2】:

    如果您使用的是 NuGet(如果没有,请使用),您可能需要删除并重新添加所有包,以便它们切换到 4.5。如果你打开你的 packages.config 你可以看到版本。

    【讨论】:

    • 谢谢特雷。是的,我使用的是 NuGet。我最终没有 EntityFramework,甚至比我开始时更多的编译错误。我从其他帖子中听说框架 4 和 4.5 使用不同版本的 EntityFramework 5(?!!)因此需要卸载并重新安装它。所以我认为我所做的事情是正确的。重新安装所有软件包似乎太辛苦了,所以我通过在 VS 2012 中创建一个新项目解决了这个问题。如果其他人遇到这个问题并且有一个大项目(幸运的是我没有),他们可能会被复制新的项目设置到旧的。
    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多