4

我的申请包括SQLite.dll. 如何在 C# WPF 中制作单可执行应用程序而不通过 ClickOnce 应用程序或任何安装文件设置进行安装。

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

4

1 回答 1

4

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

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

于 2013-04-06T15:05:11.583 回答