2013-08-24 3 views
11

JA, ich habe die System.Data.Sqlite.dll zu meinem Projekt hinzugefügt (VS2012) . JA, ich habe eine Referenz hinzugefügt. JA, ich habe überprüft, dass die Referenz erstellt wurde (Referenzeigenschaften> Pfad ist korrekt). JA, ich habe Google verwendet, Bing,Der Typ oder Namespacename 'SQLite' existiert nicht im Namespace 'System.Data' (fehlt eine Assemblyreferenz?)

Nein, ich weiß nicht, warum mein Code nicht kompilieren wird.

+0

Rebuild es bereits? BTW +1 für die Verwendung von 'Bing' hier :))) –

+0

Machen Sie eine Reinigung vor dem Wiederaufbau. – Steve

+3

LOL, ich habe geputzt und umgebaut. Ich würde hier nicht posten, wenn ich nicht hätte. – UnregularExpression

Antwort

7

Es sieht so aus, als ob Sie eine falsche Version von System.Data.Sqlite.dll referenzieren, die nicht mit der .NET-Version kompatibel ist, die Sie in Ihrer Anwendung verwenden.

Versuchen richtige installieren von http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

+2

Das war die richtige Antwort in meinem Fall. Ich hatte eine Assembly, die .NET 4.5 war, und ich hatte SQLite über NuGet installiert. Dann habe ich die Assembly in .NET 4.0 geändert, und die SQLite-Referenz gab mir den Fehler des OPs. –

3

ich gleiche Situation hatte. Ich überprüft Eigenschaften der referenzierten SQLite DLL und Version von einem Wurf Fehler, und es war 1.0.92.0 Ich ersetzte es mit der rechten von 1.0.90.0 und jetzt funktioniert es.

Erstaunlicherweise arbeitete 1.0.92.0 mit Web Project, aber weder mit der Klassenbibliothek noch mit der WCF-Bibliothek prj von VS2013?

6

Wenn es mit nuget installiert wurde, führen Sie den folgenden Befehl in dem Package Manager Console:

Update-Package –reinstall System.Data.SQLite 

In VS2013 Sie diese Konsole im Menü Ansicht finden> Andere Fenster> Package Manager-Konsole.

Wie in einem Kommentar angegeben, tritt dieser Fehler auf, wenn Ihr Projekt für die Verwendung von Net45 bei der Installation des Pakets und einige Zeit nach der Konfiguration für die Verwendung von Net40 konfiguriert ist.

Ich denke, dass der umgekehrte Fall, Net40 zu Net45-Konfiguration, auch diesen Fehler auslösen kann.

+0

Es ist auch erwähnenswert, dass SQLite möglicherweise nicht an erster Stelle installiert wurde. Wenn der obige Befehl Text in rot zurückgibt, der besagt, dass das SQLite-Paket in keinem Projekt installiert wurde und das Update fehlgeschlagen ist, gehen Sie einfach zu NuGet-Pakete für Lösung verwalten unter Tools> NuGet-Paket-Manager und suchen Sie nach System.Data.SQLite. Wählen Sie dann das Paket und installieren Sie es für dieses Projekt. Ich tat das und der Fehler war weg. –

1

Überprüfen Sie, ob die referenzierte DLL mit der Zielplattform Ihres Projekts übereinstimmt. Zum Beispiel: Wenn Sie eine 4.0-Assembly mit einem Projekt 4.5 als Ziel verwenden, erhalten Sie diesen Fehler.