2012-04-03 104 views
8

無法加載文件或程序集「的EntityFramework,版本= 4.3.1.0, 文化=中性公鑰= b77a5c561934e089」或它 的一個依賴。找到的程序集的清單定義不符合程序集引用的 。 (異常來自HRESULT:0x80131040)無法加載文件或程序集「的EntityFramework」錯誤

我只當我將此代碼添加到我的項目得到這個錯誤:

private IUserRepository repository; 

     public SearchController(IUserRepository repo) 
     { 
      repository = repo; 
     } 

我想這是有道理的,因爲我使用的EntityFramework這一點。我現在確定如何解決這個錯誤。

我已看過此鏈接:http://msdn.microsoft.com/en-us/library/e74a18c4.aspx 雖然我不確定如何使用此程序? (它總是空白的)。

我認爲這個bug可能與我的數據庫由dotnet-host.com託管的事實有關,並且有一些本地引用在與數據庫在線交互時會中斷。

+1

這是我找到我的答案的地方 - http://stackoverflow.com/questions/9540168/error-loading-entityframework-4-3-1檢查你所有的dll,確保他們有相同的參考 – 2012-04-05 19:06:08

回答

18

錯誤告訴你的是你的項目引用了一個不同於它在運行時發現的EntityFramework.dll版本。

檢查您在項目中引用了哪個版本的EntityFramework.dll(更新您的問題)。

確保您將所有相關的dll和* .manifest複製到應用程序的bin文件夾中。

由於它是外部主機,因此您可能需要通過WebMatrix Package Manager安裝EntityFramework。如果你這樣做,你可以按照this tutorial

  1. 只要確保你所使用的開發您的主機站點上安裝的EntityFramework的同一版本或
  2. 改變你的裝配參考Specific Version = false上的EntityFramework的DLL(注意,我不知道這是否會工作,因爲我總是嘗試使用相同版本進行開發和部署,所以也許有人可以證實?)。
+1

這是問題是什麼。出於某種原因(默認情況下)它使用比手動引用時更低的版本號,並且由於我在兩個項目中引用了它(默認情況下是一次),所以導致版本號不一致。謝謝。 – Johannes 2012-04-06 23:39:00

+0

我在將一個新的MVC項目添加到一個sln以及多個引用EntityFramework(6.0.0.0)的其他項目之後,我遇到了這個問題。我的新MVC項目的web.config試圖引用5.0.0.0。改爲6.0.0.0,大家都開心 – SleepyBoBos 2015-06-11 05:15:27

相關問題