猿问

关于EF4使用sqlite部署问题

求救呀,高手!!!

使用Winform+ .net4.2 + EF4 + Sqlite3(System.data.Sqlite.dll) 开发端运行正常,通过Installer制作发布到客户端后均不能访问,主要是找不到sqlite。

已经尝试网上各种方法:

1、app.config中添加

<system.data>
  <DbProviderFactories>
  <remove invariant="System.Data.SQLite"/>
  <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.81.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
  </DbProviderFactories>
</system.data>

复制代码

2、使用gacutil -i 注册 System.Data.Sqlite.Dll 和 System.data.sqlite.linq.dll

3、在Install项目中添加 System.Data.Sqlite.Dll引用

以上方式均不可行,客户端包括WIN7和XP,均失败。实在无语了,是不是EF4根本不适合sqlite呀?可它明明提供 Sqlite Provider的呀!而且在开发端总是正常的。

 

错误信息有:

(1)指定的存储区提供程序在配置中找不到,或者无效。。

(2)找不到或无法加载已注册的 .net Framework Data Provider 。。


HUWWW
浏览 531回答 1
1回答

湖上湖

把System.data.Sqlite.dll复制到bin文件夹中试试
随时随地看视频慕课网APP
我要回答