1

我正在寫一個小型測試項目,以便讓我的腳先用EF代碼弄溼。不幸的是,當我嘗試編譯,我得到以下錯誤:在我的小代碼第一個項目中的實體框架版本錯誤

Assembly 'Backend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 
'EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 
which has a higher version than referenced assembly 'EntityFramework, Version=4.1.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089' c:\Users\Kevin\Documents\Visual 
Studio 2010\Projects\CFTest\Backend\bin\Debug\Backend.dll CFTest 

出於某種原因,有一個版本衝突,但我不知道如何解決它。

編輯:我的App.config中:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <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.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True" /> 
     </parameters> 
    </defaultConnectionFactory> 
    </entityFramework> 
</configuration> 

回答

2

我的後端項目有一個版本的EF,而我的MVC項目默認帶有另一個版本。解決了。

+0

感謝您添加解決方案。現在我想起來了,我之前也有同樣的問題。謝謝。 – 2012-07-12 01:07:43

+0

沒問題。並感謝你的刺傷。 :) – 2012-07-12 01:21:59

+0

它在錯誤信息中非常明顯 - 後端4.3和編譯期間的web項目顯示4.3.1。你可以刪除兩者,只需在兩者上執行install-package實體框架(或使用-pre獲得EF 5 RC代碼) – 2012-07-12 19:57:32

0

它與版本的項目使用的.NET Framework,那EF DLL是在編譯的.NET Framework的版本衝突。如果您轉到項目的添加引用窗口,則列表應該說明每個DLL使用的.NET Framework版本。將項目目標更改爲使用該版本。

+0

我的項目的目標是.NET 4,就像DLLs – 2012-07-12 00:45:55

+0

也許有人正在使用客戶端配置文件版本?這可能會導致衝突。您是否100%確定該DLL使用4.0 – 2012-07-12 00:57:26

相關問題