我的申请包括SQLite.dll
。如何在没有通过ClickOnce应用程序或任何安装文件设置安装的情况下在C#WPF中创建单个可执行应用程序。
如何将System.Data.SQLite
捆绑到我的项目中,这样我就可以生成一个没有tag-along DLL的单可执行应用程序?
答案 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执行然后加载正确的一。 (你只需嵌入两个并加载正确的一个)