发布Winform问题

时间:2017-11-14 13:18:24

标签: c# winforms

我有一个winform应用程序,它从机器的Document文件夹中的特定文件夹中读取sqlite数据库。基本上我正在做的是将数据从移动数据库导入到Sql server。该功能在调试时运行顺利,但在我发布应用程序后,安装并运行它,它会抛出sqlite.interop.dll找不到。我刚刚下载了dll的x86和x64版本,并尝试在项目中包含它并再次发布。但仍然存在错误。

我的问题:应用可以检测到interop.dll的方法是什么?

以下是代码:

try
{
    var directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    var cn = "Data Source=" + directory + @"\Samplefolder\" + txtfilename.Text;

    using (SQLiteConnection conn = new SQLiteConnection(cn))
    {
        conn.Open();
        using (SQLiteCommand cmd = new SQLiteCommand())
        {
            cmd.Connection = conn;
            cmd.CommandText = "SELECT * FROM Tablr";

            using (SQLiteDataReader dr = cmd.ExecuteReader())
            {
                while (dr.Read())
                {
                    // getting values from dr and assigning to a property of a class
                }
            }
        }
    }

    MessageBox.Show("Successful");
}
catch(Exception message)
{
    MessageBox.Show("Failed");
}

1 个答案:

答案 0 :(得分:0)

我在下载了SQlite.Interop.dll x86和x64 here之后修复了此问题。然后 在我的项目中创建了x86和x64文件夹,并相应地将dll放入文件夹中。然后编辑项目属性并取消选中32位