var connection = ConnectionFactory.GetConnection(
ConfigurationManager.ConnectionStrings["Test"]
.ConnectionString, DataBaseProvider);
Und das ist meine App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Aber wenn mein Projekt läuft, ist dies mein Fehler:
Der Objektverweis wurde nicht auf eine Instanz eines Objekts festgelegt.
c#
ado.net
exception-handling
connection-string
app-config
Moham ad Jafari
quelle
quelle
Antworten:
Können Sie nicht einfach Folgendes tun:
Ihre Baugruppe benötigt auch einen Verweis auf
System.Configuration.dll
quelle
System.Configuration.ConfigurationManager.ConnectionStrings("Test").ConnectionString
für diejenigen von uns, die VB-Code pflegen müssenDa dies eine sehr häufige Frage ist, habe ich einige Screenshots von Visual Studio vorbereitet, um das Befolgen in 4 einfachen Schritten zu vereinfachen.
quelle
using System.Configuration
funktioniert aber immer nochquelle
<connectionStrings>
Elemente aus app.config abgerufen werden (was das OP verlangt!).Überprüfen Sie auch, ob Sie die
System.Configuration
DLL in Ihre Referenzen aufgenommen haben. Ohne diese Funktion haben Sie keinen Zugriff auf dieConfigurationManager
Klasse im System.Configuration-Namespace.quelle
Fügen Sie zunächst einen Verweis
System.Configuration
auf Ihre Seite hinzu.Dann erhalten Sie laut Ihrer app.config die Verbindungszeichenfolge wie folgt.
Jetzt haben Sie Ihre Verbindungszeichenfolge in der Hand und können sie verwenden.
quelle
quelle
Probieren Sie es aus
quelle
1) Erstellen Sie ein neues Formular und fügen Sie dieses hinzu:
Wenn Sie dann die Verbindung verwenden möchten, gehen Sie wie folgt vor:
und das ist es. Sie werden mit der DB verbunden und können Dinge tun.
Dies ist für vb.net, aber die Logik ist dieselbe.
quelle
Hast du es versucht:
quelle
Ich hatte das gleiche Problem. Meine Lösung wurde aus zwei Projekten aufgebaut. A
Class library
und eine Website, die auf das Klassenbibliotheksprojekt verweist. Das Problem war, dass ich versuchte, auf dasApp.config
in meinemClass library
Projekt zuzugreifen, aber das System suchte aufWeb.config
der Website. Ich habe die Verbindungszeichenfolge eingefügtWeb.config
und ... Problem gelöst!Der Hauptgrund war, dass trotz
ConfigurationManager
der Verwendung in einer anderen Baugruppe innerhalb des laufenden Projekts gesucht wurde.quelle
Mit dieser Methode können Sie die Verbindungszeichenfolge abrufen
quelle
quelle
Zuerst müssen Sie einen
System.Configuration
Verweis auf Ihr Projekt hinzufügen und dann den folgenden Code verwenden, um die Verbindungszeichenfolge abzurufen.quelle
Das hat bei mir funktioniert:
Ausgänge:
quelle
Sie können die Verbindungszeichenfolge mithilfe der folgenden Codezeile abrufen -
Hier ist eine Referenz: Verbindungszeichenfolge aus App.config
quelle
Es scheint, dass das Problem nicht mit der Referenz zusammenhängt. Sie erhalten den Verbindungsstring als null. Stellen Sie daher sicher, dass Sie der Konfigurationsdatei Ihres laufenden Projekts den Wert hinzugefügt haben, dh das Hauptprogramm / die Hauptbibliothek, die zuerst gestartet / ausgeführt wird.
quelle
Es ist möglich, dass das OP in dieser Frage versucht, eine App.Config innerhalb einer DLL zu verwenden.
In diesem Fall versucht der Code tatsächlich, auf die App.Config der ausführbaren Datei und nicht auf die DLL zuzugreifen. Da der Name nicht gefunden wird, wird eine Null zurückgegeben, daher die angezeigte Ausnahme.
Der folgende Beitrag kann hilfreich sein: ConnectionString aus app.config einer DLL ist null
quelle
Ich habe auf die
System.Configuration
Bibliothek verwiesen und habe den gleichen Fehler. Die Debug-Dateien hatten nicht ihre app.config, erstellen Sie diese Datei manuell. Der Fehler ist, ich habe dieses Problem beim Kopieren der Datei "appname.exe.config" im Debug-Ordner behoben. Die IDE hat die Datei nicht erstellt.quelle
Ich habe das Problem gelöst, indem ich den Index zum Lesen des Strings verwendet und nacheinander überprüft habe. Das Lesen mit dem Namen führt immer noch zum gleichen Fehler.
Ich habe das Problem, wenn ich eine C # -Fensteranwendung entwickle. Ich hatte das Problem nicht in meiner asp.net-Anwendung. Es muss etwas in der Einstellung sein, das nicht stimmt.
quelle