2017-04-17 12 views
0

私はsqlite3データベースを使用するc#アプリケーションを作成しています。 sqliteについては、System.Data.SQLite.dllを使用しています。問題は一部のシステムでは正常に動作しますが、他の人にはデータベースを読み取っているうちにSystem.MissingMethodExceptionがスローされます。c#System.MissingMethodException in sqlite3

これは私が読書のために使っているコードです:

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(); 
    } 
} 

そして、これは私が取得していますエラーです:

enter image description here

あなたはこれを引き起こしているものを教えてくださいすることができ例外?それを避ける方法は? System.Data.SQLite.dllの

答えて

0

チェック

場合
  1. バージョンの.NETフレームワークの

  2. バージョンは、これらのマシンにインストールされているすべてのマシンで同じである

+0

System.Data .SQLite.dllはアプリケーションと一緒にデプロイされるので、問題ではありません。アプリケーションがサポートする最小.NETバージョンは、この例外が発生したシステムにインストールされているバージョンよりも高くなっています。しかし、私はClickOnceインストーラとスタンドアロンのexecuteble(必要な依存関係を含む)を作成しました。システム上の.NETバージョンを更新する必要がありますか? – mrid

+0

ターゲットとしている.NETフレームワークのバージョンを、デプロイされたマシンと、exeがビルドされたマシンのフレームワークバージョンとともにリストすることができます。あなたはおそらくここに記載されている問題に直面している可能性がありますhttps://connect.microsoft.com/VisualStudio/feedback/details/1097462/missingmethodexception-additional-information-method-not-found-0-system-array-empty – Shinva

+0

アプリはv4.5をターゲットとし、現在インストールされているものはv3.5です – mrid

関連する問題