[EF][SQLite] 在.Net 4版本中發生FileLoadException

  • 1257
  • 0
  • 2012-10-19

摘要:[EF][SQLite] 在.Net 4版本中發生FileLoadException

如果說已經新增ADO.NET 實體資料模型,

並從現有SQLite資料庫中來建立模型,

此時來簡單寫個代碼測試連接試試:

using (var entities = new Entities())
{
}

執行後,發生FileLoadException例外錯誤,

混合模式組件是針對版本 'v2.0.50727' 的執行階段建置的,無法在沒有其他組態資訊的情況下載入 4.0 執行階段中。

這個問題是目前的SQLite Provider最新版本只支援到.Net 2.0/3.5,

而若開發目標為.Net Framework 4就會發生此錯誤,

解決的方法是在專案下的App.config檔案中加入以下代碼:

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

startup 元素的解釋請參考這裡。