0

我在 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' At line:1 char:16 + Install-Package <<<< entityframework + CategoryInfo : NotSpecified: (:) [Install-包],WebException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package EntityFramework 'EntityFramework 5.0.0' 已经安装。目录不为空。

成功卸载“EntityFramework 5.0.0”。安装包:无法添加对“EntityFramework”的引用。在 line:1 char:16 + Install-Package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package entityframework ' EntityFramework 5.0.0' 已安装。目录不为空。

成功卸载“EntityFramework 5.0.0”。安装包:无法添加对“EntityFramework”的引用。在 line:1 char:16 + Install-Package <<<< entityframework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package EntityFramework ' EntityFramework 5.0.0' 已安装。目录不为空。

成功卸载“EntityFramework 5.0.0”。安装包:无法添加对“EntityFramework”的引用。在 line:1 char:16 + Install-Package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Uninstall-Package EntityFramework -强制卸载包:找不到包“EntityFramework”。在 line:1 char:19 + Uninstall-Package <<<< EntityFramework -Force + CategoryInfo : NotSpecified: (:) [Uninstall-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UninstallPackageCommand PM> 已安装安装包 EntityFramework 'EntityFramework 5.0.0'。目录不为空。

成功卸载“EntityFramework 5.0.0”。安装包:无法添加对“EntityFramework”的引用。在 line:1 char:16 + Install-Package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM>

4

2 回答 2

1

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

于 2013-02-14T02:04:48.070 回答
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

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

于 2013-02-13T21:51:08.833 回答