2010-08-02 9 views
1

Bien qu'il existe une réponse à cette question here les circonstances sont cependant différentes. Par exemple, dans une application System.Data.SQLite fonctionne parfaitement alors que dans celui-ci continue à lancer cette exception à la ligne suivante:Impossible de charger le fichier ou l'assembly 'System.Data.SQLite, Version = 1.0.65.0

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

et j'ai vérifié le chemin trop, pour éviter des exceptions E/S. Des indices sur pourraient jeter cela?

+0

Avez-vous vérifié que la DLL est vraiment là? – Bobby

+0

deux fois. et aussi enlevé et ajouté à nouveau juste pour être sûr. – user228137

+0

Utilisez fuslogvw.exe pour résoudre ce problème. –

Répondre

7

La raison la plus commune que je sais pour cela est que SQLite vient en version x86 seulement et les gens l'exécutent sur des machines x64 bits et il ne l'aime pas.

Vous pouvez résoudre ce problème (si c'est ce que vous avez) en modifiant vos paramètres de construction de "Any CPU" à "x86". Cela expliquerait pourquoi cela fonctionne dans une application et pas une autre - si une était en cours d'exécution dans x86 et une était en cours d'exécution dans x64 et provoquant cette erreur.

+0

Le problème persiste même si j'ai modifié les paramètres comme vous l'avez suggéré. Ce qui me frappe, c'est que Sqlite fonctionne parfaitement dans un autre projet avec les mêmes paramètres (sans même mettre le CPU en x86), mais pas dans ce cas. ma conjecture est qu'il a quelque chose à voir avec sqlitesync ... – user228137

+1

Comme un côté non. J'ai constaté que ce problème peut également se produire si le redistribuable Visual C++ n'est pas installé sur Windows XP. –

Questions connexes