2015-06-25 18 views
12

Sono in procinto di sviluppare app native utilizzando Xamarin.Forms. Ma il problema che sto affrontando ora non è collegato a Xamarin. Ho aggiunto nuovo progetto Windows Phone byImpossibile caricare DLL 'sqlite3' in SQLite Net Platform WinRT

right-click > Add > New Project -> Windows Phone Apps -> Blank App(Windows Phone).

nel mio progetto Xamarin esistente in Visual Studio Premium 2013. Sto usando sqlitenet PCL per la connessione al database. Ho sotto il codice nel mio progetto.

public ISQLitePlatform CreateSqlitePlatformInterface() 
     { 
      return new SQLitePlatformWinRT(); 
     } 

Quando si esegue sopra la linea, viene generata un'eccezione come

An exception of type 'System.DllNotFoundException' occurred in SQLite.Net.Platform.WinRT.DLL but was not handled in user code 

Additional information: Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 

Questo è stato chiesto molte volte e ho provato tutte le soluzione suggerita, ancora non sono in grado di risolvere il problema.

mio Packages.config

<package id="SQLite.Net-PCL" version="3.0.5" targetFramework="wpa81" /> 
    <package id="Sqlite-Winrt" version="3.8.7.1" targetFramework="wpa81" /> 
    <package id="Xamarin.Forms" version="1.4.2.6359" targetFramework="wpa81" /> 

Sopra sono i pacchetti che ho scaricato da Nuget. Mi sto perdendo qualcosa? Cos'altro ho bisogno di aggiungere?

Inoltre ho provato:

  1. scaricati sqlite-winrt81-3081002.vsix da Sqlite scaricare pagina.
  2. sqlite3.dll copiato da x86.
  3. provato incollandolo nella mia cartella bin così come nel mio progetto radice e lo cambiò contenuto copia sempre. (ref: https://stackoverflow.com/questions/4744293/unable-to-load-dll-sqlite3-the-specified-module-could-not-be-found-exceptio)
  4. Il mio progetto ha come target x86 non Qualsiasi CPU.

provato soluzione suggerita da: Sol1, Sol2

Il mio progetto Riferimenti:

enter image description here

+0

Ho installato vs estensione, ma non ho aggiunto alcun riferimento al mio progetto. In realtà l'ho scaricato per ottenere sqlite3.dll che sto facendo riferimento nel mio progetto. scusa, non sono sicuro, cos'altro devo riferire? – Subha

+0

Nm, sembra che tu l'abbia fatto. –

+0

Sì, ma quello che ho ricevuto da Nuget, non l'ho fatto riferimento manualmente. – Subha

risposta

13

Dopo aver installato il SQLite di Visual Studio di estensione, è necessario aggiungere un riferimento al SQLite for Windows Runtime In riferimento Manager sotto Windows/estensioni.

Like this.

10

ho sperimentato un sapore diverso di questo errore dopo alcune marzo 2016 aggiornamenti a Windows 10 e Visual Studio 2015: la mia app potrebbe funzionare bene quando schierati al mio desktop, ma scontro con la System.DllNotFoundException (“Impossibile caricare la DLL 'sqlite3' ") quando schierato al mio tablet (anche dopo l'aggiornamento delle compresse OS con gli ultimi aggiornamenti) quindi i miei passi per risolvere il problema sono stati i seguenti:.

  1. disinstallato l'estensione VS chiamati“SQLite per Universal App Platform "(v3.10.2)
  2. Rimosso il riferimento a questa estensione dal mio progetto
  3. installata l'estensione di nuovo - ma questa volta si presentò nella lista estensioni on-line come “SQLite per l'Universal di Windows Platform” (v3.12.1)
  4. Aggiunto il riferimento a questa estensione al mio progetto
  5. (questa è la parte importante, che non avevo bisogno di fare prima): aggiunto un riferimento al "Visual C++ 2015 Runtime per Universal Platform Platform" (v14) .0) estensione

Non è stato fino all'ultimo passo che ha effettivamente risolto il problema.

+0

Come sai che ha bisogno di un riferimento a Visual C++ 2015? – Hp93

+0

Devo aver appena letto un articolo su di esso – BCA

+0

sulla finestra di riferimento aggiungi, quando si seleziona "SQLite per UWP", c'è una scheda sulla destra che fornisce alcune informazioni ed elenca i riferimenti- dice che dipende da VLC 14.0, I supponiamo che sia Visual L (anguage?) C++. Nel frattempo, il mio progetto funziona senza aggiungere manualmente il VLC, forse è stato aggiunto dietro le quinte – Oyiwai

Problemi correlati