创建安装文件

时间:2018-09-12 13:04:34

标签: c# .net dll sqlite

我正在使用Visual Studio 2015(专业版)和Sqlite数据库,Windows 8.1(x64)开发Windows应用程序。我从Nuget安装Sqlite会自动安装这些参考... system.componentmodel.dataannotations,System.Data.SQLite,System.Data.SQLite.EF6,System.Data.SQLite.Linq。

当我在Visual Studio中执行我的应用程序时,一切正常。然后通过Windows安装程序将其发布。然后在“我的机器” Windows 8.1(x64)上安装新创建的安装文件。每当我尝试运行它并单击“登录”按钮时,都会出现以下错误

无法加载dll'sqlite.interop.dll':找不到指定的模块。(异常结果:0x8007007e)”。

enter image description here

我的代码是...

string connectionString = @"Data Source = SampelTest.db; Version = 3; new = false; compress = true; ";    
private void buttonLogin_Click(object sender, EventArgs e)
            {
                using (SQLiteConnection con = new SQLiteConnection(connectionString))
                {
                    try
                    {
                        using (SQLiteCommand sqlcmd = new SQLiteCommand("select count(*) from [SampelTest]", con))
                        {
                            con.Open();
                            Int32 count = Convert.ToInt32(sqlcmd.ExecuteScalar());
                            con.Close();
                            if (count > 0)
                            {
                                MessageBox.Show("User have in DataBase");
                            }
                            else 
                            {
                                MessageBox.Show("Empty DataBase");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {

                    }
                }
            }

“调试”文件夹“ SampelTest.db”中的“我的数据库”文件我已经尝试了来自Google的这些步骤来解决我的问题。

  1. 从x64复制到调试文件夹的Sqlite.Interop.dll文件。 ![enter image description here

  2. 从解决方案Explorar创建x86和x64文件夹,分别从x86和x64添加Sqlite.Interop.dll并设置属性,构建选项=>内容,复制到输出目录=>始终复制。

    < / li>

enter image description here

  1. 使用优先级32位。

enter image description here

尝试之后,这些步骤无法解决此问题。请帮我解决这个问题。感谢您的关注。

0 个答案:

没有答案