我正在尝试使用 SQLite数据库在Visual Studio 2017 , .NET framework 4.6 中构建WinForms应用程序。
我从NuGet安装了SQLite
我添加了安装项目来安装用户PC上的所有dll参考
对我来说,在调试和发布模式下一切正常。但是当用户安装我的程序时,他得到了这个:
System.DllNotFoundException:无法加载DLL' SQLite.Interop.dll':找不到此类模块。 (HRESULT异常:0x8007007E)
在 System.Data.SQLite.UnsafeNativeMethods.sqlite3_config_none(SQLiteConfigOpsEnum op)在System.Data.SQLite.SQLite3.StaticIsInitialized()at System.Data.SQLite.SQLiteLog.Initialize()at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, 布局parseViaFramework)在CatFishSystem.Form1.Form1_Load(对象 发件人,EventArgs e)在System.Windows.Forms.Form.OnLoad(EventArgs) e)在System.Windows.Forms.Form.OnCreateControl()at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在System.Windows.Forms.Control.CreateControl()at System.Windows.Forms.Control.WmShowWindow(Message& m)at System.Windows.Forms.Control.WndProc(Message& m)at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg, IntPtr wparam,IntPtr lparam)
当我尝试从NuGet添加SQLite.Interop.dll
时出现此错误:
错误无法安装软件包' SQLite.Interop.dll 1.0.103'。你是 尝试将此软件包安装到目标项目中 ' .NETFramework,Version = v4.5',但该软件包不包含任何内容 程序集引用或与之兼容的内容文件 框架。有关更多信息,请与软件包作者联系。
我还尝试下载64位Windows .NET 4.6的预编译二进制文件
来自Here并直接添加对SQLite.Interop.dll
的引用。我得到了这个
我被困住了,不知道该怎么做。我尝试了不同的解决方案,但没有一个帮助。期待您的帮助。
答案 0 :(得分:0)
此问题随安装项目一起提供。
您必须自己将文件添加到安装程序。
右键单击Solution Exporer中的Setup Project并添加文件。
我总是创建一个x86和一个x64文件夹,并添加在调试目录中找到的文件。