实体框架5安装

时间:2013-02-13 21:24:05

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

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

我遇到了一些编译错误,我相当肯定是由于对版本5以下的EntityFramework版本的引用造成的。

例如:

  

错误2找不到类型或命名空间名称“Table”(您是否缺少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&GT; Uninstall-Package entityframework已成功删除   来自PersonalityTest_002的'EntityFramework 5.0.0'。目录不是   空。

     

成功卸载'EntityFramework 5.0.0'。

     

PM&GT; Install-Package entityframework Install-Package:远程名称   无法解决:'nuget.org'在行:1字符:16   + Install-Package&lt;&lt;&lt;&lt;的EntityFramework       + CategoryInfo:NotSpecified:(:) [Install-Package],WebException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand   PM&GT;安装包EntityFramework'EntityFramework 5.0.0'已经   安装。该目录不为空。

     

成功卸载'EntityFramework 5.0.0'。安装包:   无法添加对'EntityFramework'的引用。在行:1字符:16   + Install-Package&lt;&lt;&lt;&lt;的EntityFramework       + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand   PM&GT;已经安装包实体框架'EntityFramework 5.0.0'   安装。该目录不为空。

     

成功卸载'EntityFramework 5.0.0'。安装包:   无法添加对'EntityFramework'的引用。在行:1字符:16   + Install-Package&lt;&lt;&lt;&lt;的EntityFramework       + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand   PM&GT;安装包EntityFramework'EntityFramework 5.0.0'已经   安装。该目录不为空。

     

成功卸载'EntityFramework 5.0.0'。安装包:   无法添加对'EntityFramework'的引用。在行:1字符:16   + Install-Package&lt;&lt;&lt;&lt;的EntityFramework       + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand   PM&GT; Uninstall-Package EntityFramework -Force卸载包:   无法找到包'EntityFramework'。在行:1 char:19   + Uninstall-Package&lt;&lt;&lt;&lt; EntityFramework -Force       + CategoryInfo:NotSpecified:(:) [Uninstall-Package],InvalidOperationException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UninstallPackageCommand   PM&GT;安装包EntityFramework'EntityFramework 5.0.0'已经   安装。该目录不为空。

     

成功卸载'EntityFramework 5.0.0'。安装包:   无法添加对'EntityFramework'的引用。在行:1字符:16   + Install-Package&lt;&lt;&lt;&lt;的EntityFramework       + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException       + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand   PM&GT;

2 个答案:

答案 0 :(得分:1)

如果您正在使用NuGet(如果没有,请执行此操作),您可能需要删除并添加所有包,以便切换到4.5。如果您打开packages.config,则可以看到版本。

答案 1 :(得分:0)

导致错误的

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

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