【问题标题】:c# System.MissingMethodException in sqlite3c# SQLite3 中的 System.MissingMethodException
【发布时间】:2017-04-17 06:02:51
【问题描述】:

我正在制作一个使用 sqlite3 数据库的 c# 应用程序。对于 sqlite,我使用的是System.Data.SQLite.dll。问题在于程序在某些系统上运行良好,但在其他系统上,它会在读取数据库时抛出 System.MissingMethodException

这是我用来阅读的代码:

using (System.Data.SQLite.SQLiteConnection con = new System.Data.SQLite.SQLiteConnection("data source=" + file_name))
{
    using (System.Data.SQLite.SQLiteCommand com = new System.Data.SQLite.SQLiteCommand(con))
    {
        con.Open();
        com.CommandText = "Select * FROM my_table;";

        using (System.Data.SQLite.SQLiteDataReader reader = com.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(reader["field1"] + " : " + reader["field2"] +" : " + reader["field3"]);

                if(reader["field1"].ToString().Equals("1"))
                {
                    xlWorkSheetR1.Cells[i, 2] = reader["field1"];
                    xlWorkSheetR1.Cells[i, 3] = reader["field2"];
                    i++;
                }
            }
        }
        con.Close();
    }
}

这是我得到的错误:

你能告诉我是什么导致了这个异常吗?又该如何避免呢?

【问题讨论】:

    标签: c# exception sqlite missingmethodexception


    【解决方案1】:

    检查是否

    1. System.Data.SQLite.dll 的版本在所有机器上都相同

    2. 这些机器上安装的 .NET 框架版本

    【讨论】:

    • System.Data.SQLite.dll 与应用程序一起部署,因此这应该不是问题。应用程序支持的最低 .NET 版本高于发生此异常的系统上安装的版本。但是我制作了一个 ClickOnce 安装程序和一个独立的可执行文件(包含所需的依赖项)。我还需要更新系统上的 .NET 版本吗??
    • 您能否列出您所针对的 .NET 框架版本以及已部署机器和构建 exe 的机器上的框架版本。您很可能会遇到此处列出的问题connect.microsoft.com/VisualStudio/feedback/details/1097462/…
    • 该应用面向 v4.5,当前安装的是 v3.5
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多