Obtenez la chaîne de connexion de L'application.config

var connection = ConnectionFactory.GetConnection(
    ConfigurationManager.ConnectionStrings["Test"]
    .ConnectionString, DataBaseProvider);

et voici mon application.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>

Mais quand mon projet fonctionne c'est mon erreur:

référence D'objet non définie à une instance d'un objet.

320
demandé sur SlimsGhost 2011-06-30 18:54:06

18 réponses

ne Pouvez-vous pas juste faire ce qui suit:

var connection = 
    System.Configuration.ConfigurationManager.
    ConnectionStrings["Test"].ConnectionString;

votre assemblage a également besoin d'une référence à System.Configuration.dll

406
répondu Duffp 2017-03-08 10:22:29

puisque c'est une question très courante, j'ai préparé quelques captures d'écran de Visual Studio pour la rendre facile à suivre en 4 étapes simples.

get connection string from app.config

267
répondu Fredrick Gauss 2014-12-19 06:12:58
string str = Properties.Settings.Default.myConnectionString; 
31
répondu gjijo 2015-11-17 20:29:39

vérifiez également que vous avez inclus la dll System.Configuration sous vos références. Sans lui, vous n'aurez pas accès à la classe ConfigurationManager dans le système.Espace de noms de Configuration.

26
répondu Carl Heinrich Hancke 2012-07-19 07:49:07

ajoutez D'abord une référence de System.Configuration à votre page.

using System.Configuration;

puis selon votre app.config obtenez la chaîne de connexion comme suit.

string conStr = ConfigurationManager.ConnectionStrings["Test"].ToString();

c'est maintenant que vous avez votre chaîne de connexion dans votre main et vous pouvez l'utiliser.

19
répondu Tapan kumar 2016-08-12 17:36:20
//Get Connection from web.config file
public static OdbcConnection getConnection()
{
    OdbcConnection con = new OdbcConnection();
    con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["con"].ConnectionString;
    return con;     
}
9
répondu Gobind Mandal 2017-08-29 17:08:22

Essayer

string abc = ConfigurationManager.ConnectionStrings["CharityManagement"].ConnectionString;
6
répondu vishu9219 2016-08-12 17:36:34

1) Créer un nouveau formulaire et ajouter ceci:

Imports System.Configuration
Imports Operaciones.My.MySettings

Public NotInheritable Class frmconexion

    Private Shared _cnx As String
    Public Shared Property ConexionMySQL() As String
        Get
            Return My.MySettings.Default.conexionbd
        End Get
        Private Set(ByVal value As String)
            _cnx = value
        End Set
    End Property

End Class

ensuite, lorsque vous voulez utiliser la connexion, faites ceci sous la forme ur:

 Private Sub frmInsert_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim cn As New MySqlConnection(frmconexion.ConexionMySQL)
cn.open()

et c'est tout. Vous serez connecté à la base de données et pouvez faire des choses.

C'est pour vb.net mais la logique est la même.

3
répondu OREO 2016-08-12 17:37:06

avez-vous essayé:

var connection = new ConnectionFactory().GetConnection(
    ConfigurationManager.ConnectionStrings["Test"]
    .ConnectionString, DataBaseProvider);
3
répondu Vlad Bezden 2017-03-08 10:22:05

j'ai eu le même Problème. ma solution a été construite à partir de deux projets. Un Class library et un site Web faisant référence au projet de bibliothèque de classe. le problème était que j'essayais d'accéder au App.config dans mon projet Class library mais le système cherchait dans Web.config du site web. J'ai mis la chaîne de connexion dans Web.config et ... problème résolu!

la raison principale était que malgré ConfigurationManager a été utilisé dans un autre ensemble, il a été à la recherche à l'intérieur de la running du projet .

3
répondu AmiNadimi 2017-03-29 08:51:00
string sTemp = System.Configuration.ConfigurationManager.ConnectionStrings["myDB In app.config"].ConnectionString;
2
répondu khatami 2012-12-08 12:22:43

vous pouvez récupérer la chaîne de connexion en utilisant la ligne de code ci-dessous -

using System; using System.Configuration;

var connectionString=ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;

Voici une référence : chaîne de connexion de L'application.config

1
répondu somesh 2013-10-17 08:45:06

il semble que le problème ne soit pas avec référence, vous obtenez connexion comme null alors s'il vous plaît assurez-vous que vous avez ajouté la valeur au fichier de configuration de votre projet en cours d'exécution, c'est-à-dire le programme principal/bibliothèque qui est lancé/exécuté en premier.

1
répondu Chandra Malla 2014-01-09 06:17:13

Il est possible que les OP dans cette question est d'essayer d'utiliser une Application.Config dans une dll.

dans ce cas, le code essaie d'accéder à l'application.Config de l'exécutable et non de la dll. Puisque le nom n'est pas trouvé, vous obtenez un retour Null, d'où l'exception montrée.

Le post suivant peut être utile: ConnectionString à partir de l'app.la configuration D'une DLL est nulle

1
répondu Andrew 2017-05-23 12:26:35

vous devez d'abord ajouter System.Configuration référence à votre projet et ensuite utiliser le code ci-dessous pour obtenir chaîne de connexion.

_connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnection"].ConnectionString.ToString();
1
répondu SagarJaybhay 2017-03-14 15:32:31

cela a fonctionné pour moi:

string connection = System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ConnectionString;

sorties:

Source De Données=.; Catalogue Initial = OmidPayamak;Sécurité Intégrée= True "

1
répondu Talha Imam 2017-08-29 17:07:53

que j'ai référencé System.Configuration bibliothèque et j'ai la même erreur. Les fichiers de débogage n'avaient pas leur application.config, créer manuellement ce fichier. L'erreur est, j'ai résolu cette copie du fichier " appname.EXE.config" dans le dossier de débogage. L'IDE n'était pas de créer le fichier.

0
répondu jjcaicedo 2016-08-12 17:37:26

j'ai résolu le problème en utilisant l'index pour lire la chaîne et vérifier un par un. Lire en utilisant le nom donne toujours la même erreur.

J'ai le problème quand je développe une application c # window, Je n'avais pas le problème dans mon asp.net application. Il doit y avoir quelque chose dans le décor qui ne va pas.

0
répondu dew17 2017-10-26 07:37:46