Obter o texto da ligação da aplicação.configuracao

var connection = ConnectionFactory.GetConnection(
    ConfigurationManager.ConnectionStrings["Test"]
    .ConnectionString, DataBaseProvider);
E esta é a minha aplicação.configuração:

<?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>

mas quando o meu projecto é executado este é o meu erro:

a referência do objecto não é definida para uma instância de um objecto.

Author: SlimsGhost, 2011-06-30

18 answers

Não podes fazer o seguinte:

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

A sua Assembleia também precisa de uma referência a System.Configuration.dll

 406
Author: Duffp, 2017-03-08 10:22:29
Uma vez que esta é uma questão muito comum, preparei algumas imagens do Visual Studio para facilitar o seguimento em 4 passos simples.

get connection string from app.config

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

Verifique também se incluiu o {[[0]} dll nas suas referências. Sem ele, você não terá acesso à classe ConfigurationManager no sistema.Espaço de nomes de configuração.

 26
Author: Carl Heinrich Hancke, 2012-07-19 07:49:07

Primeiro adicione uma referência de System.Configuration à sua página.

using System.Configuration;

Então de acordo com a tua aplicação .config obtém o texto de ligação como se segue.

string conStr = ConfigurationManager.ConnectionStrings["Test"].ToString();
É isso agora que tens o fio de ligação na mão e podes usá-lo.
 19
Author: 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
Author: Gobind Mandal, 2017-08-29 17:08:22

Experimenta isto

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

1) Crie um novo formulário e adicione isto:

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

Depois, quando quiser usar a ligação, faça isto em 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()
E pronto. Você será conectado ao DB e pode fazer coisas. Isto é para ... vb.net mas a lógica é a mesma.
 3
Author: OREO, 2016-08-12 17:37:06

Já tentaste:

var connection = new ConnectionFactory().GetConnection(
    ConfigurationManager.ConnectionStrings["Test"]
    .ConnectionString, DataBaseProvider);
 3
Author: Vlad Bezden, 2017-03-08 10:22:05
Eu tinha o mesmo problema. minha solução foi construída a partir de dois projetos. A {[[0]} e um sítio Web referente ao projecto da biblioteca de classes. o problema era que eu estava tentando acessar o App.config no meu projeto {[[0]} mas o sistema estava procurando em Web.config do site. Pus o fio de ligação dentro e ... .. problema resolvido!

A principal razão foi que apesar de ConfigurationManager ter sido usado noutra assembleia, estava a procurar dentro do projecto runnig .

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

Pode obter o texto da ligação usando a linha abaixo do Código -

using System; using System.Configuration;

var connectionString=ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
Aqui está uma referência. : texto de ligação da aplicação.configuração
 1
Author: somesh, 2013-10-17 08:45:06

Parece que o problema não é com a referência, você está ficando connectionstring como nulo, por isso certifique-se de ter adicionado o valor ao arquivo de configuração o seu projeto em execução, o que significa o programa/biblioteca principal que começa/executa primeiro.

 1
Author: Chandra Malla, 2014-01-09 06:17:13

É possível que o OP nesta questão esteja a tentar usar uma aplicação.Config dentro de um dll.

Neste caso, o código está a tentar aceder à aplicação.Configuração do executável e não do dll. Uma vez que o nome não é encontrado, você recebe um NULL retornado, daí a exceção mostrada.

O seguinte post pode ser útil: Ligação da aplicação.a configuração de um DLL é nula

 1
Author: Andrew, 2017-05-23 12:26:35

Primeiro tem de adicionar System.Configuration referência ao seu projecto e depois usar o código abaixo para obter o texto de ligação.

_connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnection"].ConnectionString.ToString();
 1
Author: SagarJaybhay, 2017-03-14 15:32:31
Isto funcionou comigo.
string connection = System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ConnectionString;

Saídas:

Fonte De Dados=.;Catálogo Inicial = OmidPayamak;Segurança Integrada=True "

 1
Author: Talha Imam, 2017-08-29 17:07:53

Fiz referência à biblioteca System.Configuration e tenho o mesmo erro. Os ficheiros de depuração não tinham a sua aplicação.configuração, criar manualmente este ficheiro. O erro é, Eu resolvi isso copiando o arquivo " appname.exe.configuração " na pasta de depuração. O IDE não foi criar o arquivo.

 0
Author: jjcaicedo, 2016-08-12 17:37:26

Resolvi o problema usando o índice para ler o texto e verificar um por um. Ler usando o nome ainda dá o mesmo erro.
Eu tenho o problema quando eu desenvolver uma aplicação C# janela, eu não tive o problema em meu asp.net aplicação. Deve haver algo no cenário que não esteja certo.

 0
Author: dew17, 2017-10-26 07:37:46