Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net应用程序的SQLite部署_C#_Sqlite - Fatal编程技术网

C# .net应用程序的SQLite部署

C# .net应用程序的SQLite部署,c#,sqlite,C#,Sqlite,我在.NETFramework4.0WPF应用程序中使用了SQLite,它在开发环境中工作得非常好。我刚刚将system.data.sqlite.dll复制到我的应用程序安装位置,但它没有按预期工作 有人能告诉我如何为新机器部署SQLite吗 仅仅分发dll还不够吗?我正在使用installshiled 2011构建安装程序。如果任何人有SQLite的合并模块,请共享 如能及早帮助,我们将不胜感激 提前谢谢 Vinay MS您应该能够仅使用interop和数据DLL进行操作。我们的项目使用这些:

我在.NETFramework4.0WPF应用程序中使用了SQLite,它在开发环境中工作得非常好。我刚刚将system.data.sqlite.dll复制到我的应用程序安装位置,但它没有按预期工作

有人能告诉我如何为新机器部署SQLite吗

仅仅分发dll还不够吗?我正在使用installshiled 2011构建安装程序。如果任何人有SQLite的合并模块,请共享

如能及早帮助,我们将不胜感激

提前谢谢


Vinay MS

您应该能够仅使用interop和数据DLL进行操作。我们的项目使用这些:

除非您使用LINQ,否则LINQ one不是必需的


我已经在我的计算机上重命名了SQLite3.dll或SQLite3.exe的每个副本(有几十个),并且应用程序继续运行。我正在检查以确保我的答案是正确的,这是我们必须要做的事情,以确保我们的安装也能正常工作

实际上,您应该能够从项目中复制System.Data.SQLite.dll。我通常在将该引用添加到项目时将CopyLocal属性设置为true,然后确保在制作安装程序时,该DLL与最终的.exe文件位于同一位置。去年我写了一篇关于这一点的博文,也许我的博文中的一些东西会让你走上正确的轨道:

Tangurena说的是对的(这实际上帮助了我让它工作起来),但你还需要包括SQLite自述中提到的配置设置:

<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.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </DbProviderFactories>
</system.data>

正如前面提到的,您需要在应用程序配置中包括:

<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.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>


在X86/X64方面,一切都是一样的吗?不工作是什么意思?它是怎么工作的?试着用管理员权限运行你的可执行文件,看看它是否可以这样工作。如果没有更多详细信息,我们将无法帮助您。很抱歉没有提供更多错误信息。我已使用WCF数据服务访问sql lite数据库。。它给出编译错误175:在配置中找不到指定的存储提供程序,或者该提供程序无效。虽然我可以运行应用程序,但我无法将数据保存到数据库中…应用程序正在崩溃。。