Impossible de charger la DLL sqlite3 Universelle des applications Windows en cours d'exécution sur Mobile
Je suis en train d'élaborer un UWP. Je suis à l'aide de l'sqlite-net-pcl bibliothèque. Après la mise à jour de mon Application à partir de la version RC RTM , j'ai eu une erreur à l'exécution - sqlite3.dll n'a pas pu être trouvé - s'il fonctionne sur un émulateur ou un périphérique. Cela a fonctionné parfaitement après j'ai ajouté une référence à C++ 2013 Runtime Package et je l'ai exécuté sur la Machine Locale.
Message D'Exception:
Message "L'initialiseur de type pour 'SQLitePCL."raw jeta un
exception à la règle." chaîne
La innerexception message:
{"Impossible de charger la DLL 'sqlite3': Le module spécifié n'a pas pu être
trouvé. (Exception de HRESULT: 0x8007007E)"} Système.Exception
{Système.DllNotFoundException}
Bien sûr, je ne pouvais pas ajouter un referece à 'Sqlite pour l'Application Universelle de la Plate-forme parce que je suis geting l'erreur suivante
Gravité du Code Description Projet de Fichier Erreur de Ligne de Charge utile contient
deux ou plusieurs fichiers avec le même chemin d'accès de destination 'sqlite3.dll'. Source
fichiers: C:\Program Files (x86)\Microsoft
SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UAP.2015\3.8.11.1\Redist\Debug\ARM\sqlite3.dll
C:\Users\sMavrikis.nuget\packages\SQLitePCL.raw_basic\0.7.1\build\native\sqlite3_dynamic\winrt81\arm\sqlite3.dll TestApp1
Vous devez vous connecter pour publier un commentaire.
Ajouter une référence à 'SQLite pour l'Application Universelle de la Plate-forme
Cela va déclencher l'erreur:
Cette erreur se produit en raison des différentes version de sqlite3.dll dans les deux emplacements marqués par l'erreur.
Résoudre cette erreur en copiant simplement
à
d'écraser le fichier existant.
De la reconstruction de votre projet. Il doit compiler maintenant.
Si vous regardez les deux tendances contradictoires endroits, on a l'air de venir d'un plus officiel de Microsoft extension pour UWP, tandis que la seconde est à venir à partir d'un package nuGet.
Quand j'ai rencontré cette erreur, j'avais besoin de la fonctionnalité du package nuGet, j'ai donc décidé de le garder et de chute de l'autre. J'ai cliqué avec le bouton droit sur le projet dans l'explorateur de solutions, puis est allé à Ajouter->Référence puis décoché la référence à SQLite. Semblait de moins en moins enclins à faire des erreurs de copier le fichier d'un endroit à l'autre pour moi.
Microsoft Visual C++ 2013 Runtime Package
plutôt que de laVisual C++ 2015 Runtime for Universal Windows
paquet. Fixant les références résolu le problème pour moi.J'ai été faire les mêmes messages d'erreur. J'avais commencé par utiliser SQLite-PCL qui a également requis SQLite pour Application Universelle Plate-forme comme une référence. Plus tard, je suis passé à SQLite.Net-PCL. C'est quand j'ai eu ces erreurs. En cherchant une solution, j'ai trouvé cette page. Il a travaillé pour un peu. Finalement, j'ai supprimé la Référence à SQLite pour l'Application Universelle de la Plateforme et les erreurs s'en alla.
retard de réponse, mais le problème maintenant; Ce résolvez le problème pour moi était de faire Nuget Package de mise à jour sur tous les projets de la solution comme l'un des paquets était encore en utilisant l'ancienne référence et a été en tirant à travers le projet en cours de référencement, l'autre projet qui était hors de date.
J'ai résolu un problème similaire en sélectionnant x64 ou le bras dans le compilateur de configuration.
mais cela, bien sûr, l'habitude de vous permettre d'exécuter l'émulateur
Cliquez-droit sur l'UWP Projet et choisissez Propriétés.
Et assurez-vous que la Plate-forme de Solution cible correspond au Projet de Plate-forme cible.
S'ils sont différents, vous obtiendrez l'erreur de génération sur la copie de fichiers vers la même destination avec le même nom (mais différentes plateformes cibles).
J'ai réussi à résoudre la disparité en mettant une condition à l'UWP .csproj, y compris pour les dll SQLite
J'avais besoin de courir avec le UWP version de débogage, d'autre mon concepteur XAMl ferait exploser avec "ne Peut pas trouver SQLite.dll..."