0

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

我得到了它,我相当肯定通过以下版本的版本的EntityFramework的5

如参考文献都造成了一定的编译错误:

错误2类型或命名空间名称“表”找不到(是否缺少using指令或程序集引用吗?)C:\用户\萨阿德\文件\的Visual Studio 2012 \项目\ MvcApplication1 \ MvcApplication1 \型号\ 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>安装,包装的EntityFramework安装,包装:远程名称 无法解析: 'nuget.org' 在行:1个字符:16 + 安装,包装< < < <的EntityFramework + CategoryInfo:NotSpecified :(:) [Install-Package],WebException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package EntityFramework'EntityFramework 5.0.0'已安装 。该目录不是空的。

已成功卸载'EntityFramework 5.0.0'。安装包: 无法添加对'EntityFramework'的引用。在行:1个字符:16 +安装-封装< < < <的EntityFramework + CategoryInfo:NotSpecified:(:) [安装封装],出现InvalidOperationException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM>安装-package entityframework'EntityFramework 5.0.0'已安装 。该目录不是空的。

已成功卸载'EntityFramework 5.0.0'。安装包: 无法添加对'EntityFramework'的引用。在行:1个字符:16 +安装-封装< < < <的EntityFramework + CategoryInfo:NotSpecified:(:) [安装封装],出现InvalidOperationException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM>安装-Package EntityFramework'EntityFramework 5.0.0'已安装 。该目录不是空的。

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

已成功卸载'EntityFramework 5.0.0'。安装包: 无法添加对'EntityFramework'的引用。在行:1个字符:16 +安装-封装< < < <的EntityFramework + CategoryInfo:NotSpecified:(:) [安装封装],出现InvalidOperationException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM>

回答

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 

所以你大概米在项目中引用这个程序集。

+1

谢谢Nenad,我放弃了最后,并创建了一个新的VS 2012项目。 – 2013-02-14 10:32:10

1

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

+0

谢谢Trey。是的,我正在使用NuGet。我最终没有使用EntityFramework,甚至比我开始时编译错误更多。我从其他帖子听说,框架4和4.5使用不同版本的EntityFramework 5(?!!),因此需要卸载并重新安装它。所以我认为我和我所做的一切都走在了正确的轨道上。重新安装所有的软件包似乎太辛苦了,所以我通过在VS 2012中创建一个新项目来解决这个问题。如果有人遇到这个问题并且有一个大型项目(我的幸运不是),他们可能会被复制新的proj设置覆盖旧的。 – 2013-02-14 10:28:08