Visual Studio C# - SQLite.Interop.dll pas trouvé
Je suis en train d'essayer de créer avec Visual Studio, une application C# en travaillant avec SQLite. J'ai installé SQLite pour mon programme avec NuGet et trois références paru dans l'Explorateur de solutions (Système d'.Les données.SQLite, Système.Les données.SQLite.EF6, Système.Les données.SQLite.Linq).
Lorsque j'exécute mon application dans VS, tout fonctionne bien. Cependant, chaque fois que je la publie (avec ClickOnce) et essayez d'exécuter l'application, il se bloque avec le message d'erreur suivant :
Système.DllNotFoundException : Impossible de charger la DLL 'SQLite.Interop.dll' : le module spécifié est introuvable (Exception de HRESULT : 0x8007007E)
Après quelques recherches, j'ai trouvé cette dll dans le dossier de Débogage et copié dans le dossier où le ".exe" version de mon programme est créé (après la publication et de l'exécution "setup.exe"). De cette façon, l'application fonctionne bien.
Mais je ne suis pas vraiment satisfait de cette solution, car il semble vraiment sale. Je ne veux pas que les futurs utilisateurs d'avoir à le faire manuellement lors de l'installation de mon application !
Donc, ma question est : Que puis-je faire pour m'assurer que cette dll est installé avec mon programme ?
Note : j'ai essayé la première réponse de ce post :
impossible de charger la dll sqlite interop dll WPF
Mais je ne semble pas fonctionner pour moi.
Merci !
OriginalL'auteur Daneel | 2016-07-26
Vous devez vous connecter pour publier un commentaire.
Voir à l'Aide de la Bibliothèque Native de Pré-Chargement à https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
Vous aurez probablement besoin d'inclure le x86 et le x64 dossiers sous la les autres DLL SQLite.
A travaillé pour moi. Inclus les packages NUGET "SQLite" et "le Système de.Les données.SQLite.De base" et ensuite inclus les dossiers bin\x86 et bin\x64 dans le projet. Déployée sans erreurs par la suite. +1
OriginalL'auteur topshot
Par défaut de la dll sqlite.interop.dll ne vient pas avec NuGet installation de SQLite. Pour résoudre ce problème, vous devez ajouter les deux les dll, x86 et x64.
À l'SQLite site télécharger le pack contenant les dll nécessaires. Installer de client ou de les copier dll de votre Projet avant de le distribuer.
OriginalL'auteur Rafael
J'ai aussi rencontré le même problème dans mon environnement de Visual Studio 2017 et NET Framework 4.5, la situation est:
Je suis en train d'élaborer un Outlook Add Ins à l'aide de ClickOnce pour le publier et SQLite comme base de données. Après avoir installé la bibliothèque SQLite dans le projet de NuGet, il fonctionne parfaitement dans l'environnement local, mais affiche le message d'erreur exception "Impossible de charger la DLL 'SQLite.Interop.dll'" sur l'ordinateur client.
J'ai comparé les deux environnements et trouvé le fichier DLL 'SQLite.Interop.dll' n'avait pas été publié à la machine client que l'on peut voir dans le graphique suivant.
J'ai cherché 'SQLite.Interop.dll" dans l'environnement local et trouvé, il est enregistré dans le dossier suivant "{projet}\packages\System.Les données.SQLite.De base.1.0.105.2\build\" pour le particulier .Net FrameWork
Donc, ma solution est l'ajout de ces deux bibliothèques DLL dans le projet, puis ils peuvent être publiés à l'ordinateur client à l'aide de la ClickOnce.
(Avis: La version de la DLL doit être le même que le NET Framework version dans votre environnement.)
OriginalL'auteur ukalpa
Si c'est un fichier installable. j'.e, si u sont la création de fichier d'installation, puis vous devez ajouter la dll manuellement à la primaire du fichier de sortie.
Allez dans les propriétés du projet d'installation et les paramètres de configuration, sélectionnez pré-requis SQLLite, sélectionnez(Case à cocher) l'installer à partir de l'emplacement du projet.
Voir si cela résout votre problème.
OriginalL'auteur Prabhanjan_13
"Note : j'ai essayé la première réponse de ce post : impossible de charger la dll sqlite interop dll WPF, Mais je ne semble pas fonctionner pour moi."
J'ai essayé, trop, et a finalement obtenu ce travail. Toutefois, l'important c'est:
Espoir qui aide à battre ce bug gênant.
OriginalL'auteur mitch182