在C#中打开SQLite数据库,无需安装任何东西

时间:2013-09-07 08:18:44

标签: c# sqlite portability portable-applications

我正在编写一个便携式C#应用程序,旨在作为USB上的单个可执行文件运行。它需要能够从SQLite数据库中提取一些数据。因为它是便携式的,所以不能在本地安装。我看过thisthis等问题,但需要安装第三方软件。

如何在不失去便携性的情况下获取此数据?

修改 我尝试使用System.Data.SQLite NuGet包。它工作正常,但突然间我从一个可执行文件变为可执行文件,一个.dll和另外两个文件夹。

,我可以处理(虽然不幸)只添加一个dll,但这样做太多了。

3 个答案:

答案 0 :(得分:1)

您有两种选择:

  1. 使用IlMerge
  2. Embed an assembly as a resource

答案 1 :(得分:0)

嗯,我认为它会得到最好的结果:我把它归结为一个可执行文件和一个dll文件。

为此,我将可执行文件的体系结构从Any CPU更改为x86,然后安装了“System.Data.SQLite.x86”NuGet包。

如果有人知道如何保留这个功能但是在一个可执行文件中,我将非常感激。

答案 2 :(得分:0)

尝试Costura.Fody(浏览Nuget包),我通常使用这个,它将所有内容打包在一个exe中,我相信它应该有效。