Ruft die Verbindungszeichenfolge aus der App-Einstellungen-app.config-Datei C# - code
Ich versuche zu nennen, einen connection-string in der app.config-Datei C# - code. Dies ist die app.config code:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="connectstring" value="Data Source=server111;Initial Catalog=database1; Integrated Security=False;Persist Security Info=False; User ID=username;Password=password;Encrypt=True; TrustServerCertificate=True; MultipleActiveResultSets=True"/>
</appSettings>
</configuration>
Dies ist die C# - code:
private SqlConnection connStudent;
connStudent = new SqlConnection(ConfigurationManager.AppSettings["connectstring"].ToString());
connStudent.Open();
Sollte der code richtig sein, aber ich bin immer ein Null-Verweis-Ausnahme, und beim Debuggen das Programm, connStudent ist immer null und nicht um die Verbindung Zeichenfolge .
Der Fehler "der Objektverweis wurde nicht auf eine Instanz eines Objekts".
Ich glaube nicht, das löst Ihr Problem, aber ich glaube, der "Wert" den Wert von app.config ist bereits als Zeichenkette zurückgegeben, so gibt es keine Notwendigkeit für ToString().
Der C# - code, den Sie zeigen, ist nicht kompilierbar oder sogar gültig, so dass Sie wenigstens die vollständigen stacktrace der exception, um eine bessere Figur, wo es "möglicherweise" wurden angehoben. Ab sofort ist es wahrscheinlich, dass 'connectstring' nicht gefunden in deiner appSettings-und damit
Der C# - code, den Sie zeigen, ist nicht kompilierbar oder sogar gültig, so dass Sie wenigstens die vollständigen stacktrace der exception, um eine bessere Figur, wo es "möglicherweise" wurden angehoben. Ab sofort ist es wahrscheinlich, dass 'connectstring' nicht gefunden in deiner appSettings-und damit
AppSettings["connectstring"]
zurück null
. So stellen Sie sicher, dass Ihre app.config
Datei tatsächlich "build-in" Ausgabe-Verzeichnis, neben der ausführbaren Datei, mit dem gleichen Namen (wie "meinen.exe.config").InformationsquelleAutor user919789 | 2012-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie mit .NET 2.0 oder höher Verwenden folgende
dann
ConfigurationManager.ConnectionStrings
- Eigenschaft verfügbar war da .NET 2.0.Immer noch null. Objektverweis nicht auf eine Instanz eines Objekts.
Haben Sie Hinzugefügt ref-System.Konfiguration ?
InformationsquelleAutor Pete
dein code ist in Ordnung. stellen Sie sicher, dass Ihre
copy to output directory
Eigenschaftcopy always
odercopy if newer
. wenn das immer noch nicht funktioniert, versuchen Sie zu löschen, tempobj
- Dateien.den folgenden test-code funktioniert einwandfrei.
InformationsquelleAutor Ray Cheng