部署桌面WPF / SQLite应用程序

时间:2010-06-29 12:12:39

标签: wpf entity-framework sqlite .net-4.0

我正在尝试部署在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。

1 个答案:

答案 0 :(得分:2)

我在WPF应用程序中遇到了与SQLite和ADO.NET相同的问题。我用这种方式解决了它:

  • 我在我的项目中添加了System.Data.SQLite.dll,System.Data.SQLite.Linq.dll和Sqlite.Designer.dll作为后续版本。
  • 我做对了 - 点击它们 - >属性 - >复制本地 - >真
  • 我在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>  
    

这就是我所做的一切,而且它正在发挥作用。 祝你好运!