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