我已經搜索過SO,谷歌,耶穌,一切,並不能找出這一個。下面是我做之前,我得到這個錯誤:實體框架代碼第一次遷移投擲錯誤
- 安裝的EF(預發佈版本,6也許,我不知道)
- 決定,我不想,所以卸載時候並重新安裝了穩定版(5 )
- 通過SSMS截斷我的數據庫
這裏是錯誤:
Exception calling "CreateInstanceFrom" with "8" argument(s): "Could not load file or
assembly 'EntityFramework, Version=5.0.0.0, Culture=neutral, PublicK
eyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest
definition does not match the assembly reference. (Exception from H
RESULT: 0x80131040)"
At C:\Projects\BCATracker.Web\packages\EntityFramework.6.0.0-
alpha2\tools\EntityFramework.psm1:425 char:31
+ $domain.CreateInstanceFrom <<<< (
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodTargetInvocation
這裏是我個人有T ried:
從bin目錄中刪除everthing,重建。失敗 從nuget中刪除EF,刪除軟件包目錄中的文件,在nuget中讀取該文件。失敗。 衝牆。失敗
請幫忙!
看,該凸出文件,我看到這一點:
<Reference Include="EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll</HintPath>
</Reference>
可能的根本原因?
爲什麼你有3個版本的EF? EF6 alpha2(6.0.0.0),EF5 for .NET Framework 4.5(5.0.0.0)和EF 5 for .NET Framework 4(4.4.0.0)。你想用什麼版本?如果您沒有任何其他軟件包 - 手動刪除對EntityFramework.dll的所有引用。如果您想使用EF6,請刪除對System.Data.Entity.dll的引用(如果有)。刪除packages.config(如果你有其他的nuget包,你會打破它們)。安裝您要使用的EF版本。 (我想知道最終的混亂是由於重新定位你的項目造成的......) – Pawel
我想定位爲5,對於.net 4.0,我認爲我是這樣的,但是因爲我簡單地添加了6 alpha,所有東西都搞砸了向上。 4.4我需要什麼dll? – ledgeJumper
然後按照上面的說明清理項目,但不要刪除對System.Data.Entity.dll的引用。確保您的項目以.NET Framework 4爲目標。從Package Manager Console運行'Install-Updates EntityFramework'或使用GUI - 確保您未安裝EF6。這應該讓你獲得EntityFramework.dll 4.4.0.0這是適用於.NET Framework 4的EF5。你現在也應該能夠使用Uninstall-Package。當我想重新調整.NET Framework版本時 - 我總是首先卸載EF,再次重新安裝EF並安裝EF,以確保我擁有正確的版本。 – Pawel