我如何使用System.Data.SQLite合并制作单个可执行文件?

时间:2013-04-06 14:23:16

标签: c# wpf sqlite

我的申请包括SQLite.dll。如何在没有通过ClickOnce应用程序或任何安装文件设置安装的情况下在C#WPF中创建单个可执行应用程序。

如何将System.Data.SQLite捆绑到我的项目中,这样我就可以生成一个没有tag-along DLL的单可执行应用程序?

1 个答案:

答案 0 :(得分:4)

对于System.Data.SQLite.dll程序集,您可以将其作为资源嵌入,然后在您的任何代码使用它之前使用资源中的Reflection.Load,这样就可以了。或者在调用AssemblyResolve时处理,然后从资源加载它。

使用SQLite.Interop.dll这是困难部分,因为它实际上对SQLLite C ++库进行了所有调用,System.Data.SQLite程序集使用的方法调用了基于X86或x64的正确DLL 。你可以将这个的第一部分与这个article结合起来创建第二个DLL的基于内存的加载但是你需要复制x64 / x86的初始检查并且.NET dll执行然后加载正确的一。 (你只需嵌入两个并加载正确的一个)