我正在尝试部署在WPF 4.0上编写的桌面应用程序,该应用程序通过Entity Framework使用SQLite。所以我改变了.config文件(db - > relative的绝对路径)并将数据库文件本身复制到app的目录。它似乎工作正常,但在其他PC上它在运行时抛出错误。提供System.Data.SQLite.dll和System.Data.SQLite.Linq.dll和/或通过exe(http://sourceforge.net/projects/sqlite-dotnet2/files/)为SQLite安装ADO.NET 2.0 Provider没有帮助。在开发过程中不使用其他控件/提供程序等。我错过了什么吗? 附: FW 4.0存在于客户端计算机上,因为VS2010安装在那里,C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319存在且大约400mb。
答案 0 :(得分:2)
我在WPF应用程序中遇到了与SQLite和ADO.NET相同的问题。我用这种方式解决了它:
我在App.config中添加了这段代码:
<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" />
</DbProviderFactories>
</system.data>
这就是我所做的一切,而且它正在发挥作用。 祝你好运!