1

Ich entwickle eine Anwendung (leere Lösung) zum Lesen, Schreiben und Bearbeiten von Daten in einer Access-Datenbank-Datei.C# Verweis auf Typ Komponente behauptet, dass es im System definiert ist, aber es nicht gefunden

Ich erstellte ein OleDbConnection-Objekt und gab ihm eine Verbindungszeichenfolge, die in einer anderen Konsolenanwendungslösung funktionierte.

Wenn ich jedoch die Verbindung zu öffnen oder schließen, habe ich den Fehler „Cs7069 Referenzkomponente Typ behauptet, es im System definiert ist, aber es wird nicht gefunden“

OleDbConnection a = new OleDbConnection(); 
//given connection string 
a.Open(); 
a.Close(); 

ich den Fehler, wenn Ich rufe die Methoden Open() und Close() auf. Der Fehler tritt zur Kompilierzeit und nicht zur Laufzeit auf. [Visual Studio 2015]

Ich habe versucht: die Lösung Wiederaufbau Ändern eine Vielzahl von Referenzen Reinigungs dann den Wiederaufbau der Lösung

Anmerkung: Ich habe nur ein Projekt in der Lösung

Bitte helfen, Danke

+0

C# ist nicht case-insensitive. Es ist 'Open()' und 'Close()' ... –

+0

@ MatíasFidemraizer, das ein Tippfehler sein muss, würde der Kompilierzeitfehler Ihnen nicht die Nachricht geben, die im OP gezeigt wird. Und was ist übrigens mit der doppelten Negation? Ist es nicht einfacher zu sagen, dass C# Groß- und Kleinschreibung unterscheidet? Ich musste es zweimal lesen, um sicher zu gehen, dass du es richtig sagst;) – InBetween

+0

@InBetween Vengance! ; D –

Antwort

0

Lassen Sie mich etwas raten.

Erstellen Sie eine UWP-App? Wenn ja, können Sie OleDbConnection nicht verwenden, es gibt nur diese .NET subset für Sie.

Wenn nein und Ihre App nicht UWP sind, dann können Sie Fehler reproduzieren durch leere Konsole Projekt zu erstellen, das Hinzufügen System.Data zu Referenzen und die Schaffung von Minimalprogramm zu reproduzieren, wie:

class Program 
{ 
    static void Main(string[] args) 
    { 
     using (var connection = new System.Data.OleDb.OleDbConnection{ConnectionString = ".. your connection string .."}) 
     { 
      connection.Open(); 

      Console.WriteLine("DataSource: {0}, database: {1}",connection.DataSource, connection.Database); 
     }   
    } 
} 

Und letzte und am wenigsten möglich, dieser Fehler kann auch dadurch verursacht werden, dass Sie mehrere Assemblies mit Namen haben, die System.Data nachahmen, aber ich wette, das ist nicht Ihr Fall.

+0

Ich glaube, dass es ein schlechter Versuch ist, das Problem zu lösen. Ihre Argumentation könnte auch auf tragbare Bibliotheken oder sogar das alte Compact Framework angewendet werden! Oder Xamarin ... Oder .... Oder ... Ich würde diese Antwort fallen lassen und ich würde kommentieren, wenn OP UWP benutzt ... –

+0

Das war meine beste Annahme, dass OP entwickelt Bank-App (so mobil, eingebettet weniger wahrscheinlich). Lassen Sie uns warten, um zu sehen, was OP antwortet – Shorstok

+0

Wenn Sie in der richtigen Spur sind, fühle ich, dass OP die Frage mit [uwp] markieren sollte ... –

Verwandte Themen