2013-08-24 13 views
11

Sì, ho aggiunto System.Data.Sqlite.dll al mio progetto (VS2012) . Sì, ho aggiunto un riferimento. Sì, ho il doppio controllo, che il riferimento è stato creato (Proprietà di riferimento> Percorso è corretto). Sì, ho usato Google, Bing,Il nome dello spazio dei nomi 'SQLite' non esiste nello spazio dei nomi 'System.Data' (manca un riferimento all'assembly?)

NO, non so perché il mio codice non verrà compilato.

+0

Ricostruiscilo già? BTW +1 per l'uso di 'Bing' qui :))) –

+0

Eseguire una pulizia prima della ricostruzione. – Steve

+3

LOL, l'ho fatto pulito e ricostruito. Non vorrei postare qui, se non avessi. – UnregularExpression

risposta

7

Sembra che tu stia facendo riferimento a una versione errata di System.Data.Sqlite.dll che non è compatibile con la versione di .NET che stai utilizzando nella tua applicazione.

Prova installare corretto da http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

+2

Questa è stata la risposta corretta nel mio caso. Ho avuto un assembly che era .NET 4.5 e avevo installato SQLite tramite NuGet. Quindi ho cambiato l'assembly in .NET 4.0 e il riferimento SQLite mi ha dato l'errore dell'OP. –

3

avevo stessa situazione. Ho controllato le proprietà della DLL di SQLite di riferimento e la versione di un errore di lancio ed è stata 1.0.92.0 L'ho sostituita con la destra di 1.0.90.0 e ora funziona.

Sorprendentemente 1.0.92.0 funzionava con Web Project ma non con la libreria di classi o la libreria WCF di VS2013?

6

Se è stato installato con NuGet, eseguire il seguente comando nella console Package Manager:

Update-Package –reinstall System.Data.SQLite 

In VS2013, è possibile trovare questa console nel menu Visualizza> Altre finestre> Package Manager Console.

Come indicato in un commento, questo errore si verifica se il progetto è configurato per utilizzare Net45 quando si installa il pacchetto e dopo averlo configurato per l'utilizzo Net40.

Immagino che anche la configurazione inversa, da Net40 a Net45, possa generare questo errore.

+0

Vale anche la pena notare che SQLite potrebbe non essere stato installato in primo luogo. Se il comando sopra riportato restituisce del testo in rosso che dice che "il pacchetto SQLite non è stato installato in alcun progetto" e che l'aggiornamento non è riuscito, vai su Gestisci pacchetti NuGet per soluzione da Strumenti> Gestore pacchetti NuGet e cerca System.Data.SQLite. Quindi selezionare il pacchetto e installarlo per questo progetto. L'ho fatto e l'errore era sparito. –

1

Verificare se la DLL di riferimento corrisponde alla piattaforma di destinazione del progetto. E.g: Se si utilizza un assembly 4.0 con un progetto con il targeting 4.5, si otterrà questo errore.