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

배포하려는 시스템과 exe가 빌드 된 시스템의 프레임 워크 버전과 함께 대상으로하는 .NET 프레임 워크의 버전을 나열 할 수 있습니까? 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