2010-08-02 9 views
1

이 질문에 대한 대답은 here이지만 상황은 다릅니다.파일이나 어셈블리를로드 할 수 없습니다. 'System.Data.SQLite, Version = 1.0.65.0

SQLiteSync.SqliteClientSyncProvider clientSyncProvider = new SQLiteSync.SqliteClientSyncProvider(connString); 

을 내가 I/O 예외를 피하기 위해 너무 경로를 확인 않았다 :이 하나에 다음 줄에이 예외를 던지는에 유지하면서 예를 들어, 한 응용 프로그램에서 System.Data.SQLite 완벽하게 작동합니다. 에 대한 단서가 있습니까?

+0

dll이 실제로 있는지 확인 했습니까? – Bobby

+0

두 번. 또한 그것을 제거하고 그것을 확실히하기 위해 다시 추가했습니다. – user228137

+0

fuslogvw.exe를 사용하여이 문제를 해결하십시오. –

답변

7

내가 아는 가장 일반적인 이유는 SQLite는 x86 버전에서만 나오고 사람들은 x64 비트 컴퓨터에서 실행하고 그것을 좋아하지 않는다는 것입니다.

빌드 설정을 "모든 CPU"에서 "x86"으로 변경하여이 문제를 해결할 수 있습니다. 이것은 한 응용 프로그램에서 작동하는 이유와 다른 응용 프로그램에서 작동하지 않는 이유를 설명합니다. 하나는 x86에서 잘 실행되고 하나는 x64에서 실행 중이고이 오류가 발생하는 경우입니다.

+0

내가 제안한대로 설정을 변경했지만 문제가 계속 발생합니다. Sqlite가 동일한 설정 (CPU를 x86으로 설정하지 않고도)을 가진 다른 프로젝트에서 완벽하게 작동하지만,이 경우에는 그렇지 않습니다. 내 생각 엔 sqlitesync와 관련이 있다는 것입니다 ... – user228137

+1

측면이 아닙니다. Windows XP에 Visual C++ 재배포 가능 패키지가 설치되어 있지 않은 경우에도이 문제가 발생할 수 있음을 발견했습니다. –

관련 문제