部署桌面WPF/SQLite应用程序

部署桌面WPF/SQLite应用程序,wpf,entity-framework,sqlite,.net-4.0,Wpf,Entity Framework,Sqlite,.net 4.0,我正在尝试部署一个在WPF4.0上编写的桌面应用程序,它通过实体框架使用SQLite。所以,我更改了.config文件(db->relative的绝对路径),并将数据库文件本身复制到应用程序的目录中。它似乎工作正常,但在另一台PC上,它在运行时抛出了一个错误。提供System.Data.SQLite.dll和System.Data.SQLite.Linq.dll和/或通过exe()安装SQLite的ADO.NET 2.0提供程序没有帮助。开发期间未使用其他控件/提供程序等。我错过什么了吗? p、

我正在尝试部署一个在WPF4.0上编写的桌面应用程序,它通过实体框架使用SQLite。所以,我更改了.config文件(db->relative的绝对路径),并将数据库文件本身复制到应用程序的目录中。它似乎工作正常,但在另一台PC上,它在运行时抛出了一个错误。提供System.Data.SQLite.dll和System.Data.SQLite.Linq.dll和/或通过exe()安装SQLite的ADO.NET 2.0提供程序没有帮助。开发期间未使用其他控件/提供程序等。我错过什么了吗?
p、 客户端计算机上存在s.FW 4.0,因为那里安装了VS2010,并且存在C:\Windows\Microsoft.NET\Framework\v4.0.30319,并且大约为400mb。

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

  • 我在项目中添加了System.Data.SQLite.dll、System.Data.SQLite.Linq.dll和SQLite.Designer.dll作为reffence
  • 我右击了他们->属性->复制本地->真
  • 我在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>  
    
    
    
这就是我所做的一切,它正在发挥作用。
祝你好运

普通xcopy?我希望没有安装程序的必要。。。你认为我遗漏了一些需要的文件?我已经提供了应用程序exe、exe.config、数据库+sqlite dll的/installer。错误是:sqlite EF 4.0 hack“useLegacyV2RuntimeActivationPolicy=“true”存在于.config中,如果没有它,应用程序将无法编译。我们可以尝试一个有安装程序的版本——可能是clickonce——看看是不是缺少安装程序导致了问题。也可能是SQLite在32位和64位体系结构上有不同的DLL。通过ClickOnce发布了该项目,但仍然没有成功。SQLite dll可能不同(是的,开发机器是64位,客户端是32位,但项目是x86,我认为SQLite提供程序安装程序必须注意)。此外,我将该项目重建为3.5 FW应用程序(丢弃了大量性能,但随它去吧)——观察到了相同的结果。实际上,您不需要
Sqlite.Designer.dll